|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.springsource.bundlor.internal.StandardBundleTransformer
public class StandardBundleTransformer
Standard implementation of BundleTransformer
.
Nested Class Summary | |
---|---|
private static interface |
StandardBundleTransformer.AnalysisStateTemplate
|
Field Summary | |
---|---|
private java.util.List<ArtefactAnalyser> |
artifactAnalyzers
|
private ManifestCreator |
manifestCreator
|
private java.util.List<ManifestModifier> |
manifestModifiers
|
private java.util.List<ManifestReader> |
manifestReaders
|
private java.util.List<ManifestTemplateModifier> |
manifestTemplateModifiers
|
private ReadablePartialManifestFactory |
partialManifestFactory
|
private java.util.List<PartialManifestModifier> |
partialManifestModifiers
|
Constructor Summary | |
---|---|
StandardBundleTransformer(java.util.List<ArtefactAnalyser> artifactAnalyzers,
java.util.List<ManifestReader> manifestReaders,
java.util.List<ManifestModifier> manifestModifiers,
java.util.List<ManifestTemplateModifier> manifestTemplateModifiers,
java.util.List<PartialManifestModifier> partialManifestModifiers,
java.util.List<TemplateHeaderReader> templateHeaderReaders,
ReadablePartialManifestFactory partialManifestFactory)
Creates a new transformer. |
Method Summary | |
---|---|
private void |
analyseEntryWithTemplate(java.lang.String artifactName,
PartialManifest partialManifest,
StandardBundleTransformer.AnalysisStateTemplate analysisStateTemplate)
|
private void |
analyzeClassFolder(java.io.File classFolder,
java.lang.String classFolderName,
PartialManifest partialManifest)
|
private void |
analyzeEntries(java.util.jar.JarFile inputJar,
PartialManifest partialManifest)
|
private void |
analyzeEntries(PartialManifest partialManifest,
java.lang.String... classPaths)
|
private void |
analyzeEntry(java.lang.String artefactName,
java.io.InputStream in,
PartialManifest partialManifest)
|
private void |
copy(java.io.InputStream in,
java.io.OutputStream out)
|
com.springsource.util.osgi.manifest.BundleManifest |
generateManifest(com.springsource.util.parser.manifest.ManifestContents existingManifest,
com.springsource.util.parser.manifest.ManifestContents manifestTemplate,
java.lang.String... classPaths)
Generates the BundleManifest for classes on the file system using the supplied manifest template |
com.springsource.util.osgi.manifest.BundleManifest |
generateManifest(java.lang.String inputPath,
com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
Generates the BundleManifest for a JAR using the supplied manifest template |
private com.springsource.util.osgi.manifest.BundleManifest |
generateManifest(java.lang.String inputPath,
com.springsource.util.parser.manifest.ManifestContents manifestTemplate,
boolean merge)
|
private java.util.jar.JarFile |
loadJar(java.lang.String inputPath)
|
Result |
merge(java.lang.String inputPath,
com.springsource.util.parser.manifest.ManifestContents manifestTemplate,
java.lang.String outputPath)
Transforms a JAR, merging its existing manifest with the manifest generated using the supplied manifest template |
com.springsource.util.osgi.manifest.BundleManifest |
mergeManifest(java.lang.String inputPath,
com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
Generates the BundleManifest for a JAR, merging its existing manifest with the manifest generated using
the supplied manifest template |
private void |
modifyManifest(com.springsource.util.parser.manifest.ManifestContents manifest)
|
private void |
modifyManifestTemplate(com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
|
private void |
modifyPartialManifest(ReadablePartialManifest partialManifest,
boolean merge)
|
private void |
readManifests(com.springsource.util.parser.manifest.ManifestContents jarManifest,
com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
|
Result |
transform(java.lang.String inputPath,
com.springsource.util.parser.manifest.ManifestContents manifestTemplate,
java.lang.String outputPath)
Transforms a JAR, adding in the manifest generated using the supplied manifest template |
private void |
writeOutputJar(java.lang.String inputPath,
com.springsource.util.osgi.manifest.BundleManifest manifest,
java.lang.String outputPath)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.util.List<ArtefactAnalyser> artifactAnalyzers
private final java.util.List<ManifestReader> manifestReaders
private final java.util.List<ManifestTemplateModifier> manifestTemplateModifiers
private final java.util.List<PartialManifestModifier> partialManifestModifiers
private final java.util.List<ManifestModifier> manifestModifiers
private final ReadablePartialManifestFactory partialManifestFactory
private final ManifestCreator manifestCreator
Constructor Detail |
---|
public StandardBundleTransformer(java.util.List<ArtefactAnalyser> artifactAnalyzers, java.util.List<ManifestReader> manifestReaders, java.util.List<ManifestModifier> manifestModifiers, java.util.List<ManifestTemplateModifier> manifestTemplateModifiers, java.util.List<PartialManifestModifier> partialManifestModifiers, java.util.List<TemplateHeaderReader> templateHeaderReaders, ReadablePartialManifestFactory partialManifestFactory)
artifactAnalyzers
- A collection of artifact analyzers used to find requirements for the manifestmanifestReaders
- A collection of readers of the jar manifest and manifest templatemanifestModifiers
- A collection of modifiers used to change the input manifestmanifestTemplateModifiers
- A collection of modifiers used change the manifest templatepartialManifestModifiers
- A collection of modifiers used to change the partial manifesttemplateHeaderReaders
- A collection of objects that read template headers for functionalitypartialManifestFactory
- The factory used to create partial manifestsMethod Detail |
---|
public com.springsource.util.osgi.manifest.BundleManifest generateManifest(java.lang.String inputPath, com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
BundleTransformer
BundleManifest
for a JAR using the supplied manifest template
generateManifest
in interface BundleTransformer
inputPath
- the path to the input JARmanifestTemplate
- the manifest template
BundleManifest
public com.springsource.util.osgi.manifest.BundleManifest mergeManifest(java.lang.String inputPath, com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
BundleTransformer
BundleManifest
for a JAR, merging its existing manifest with the manifest generated using
the supplied manifest template
mergeManifest
in interface BundleTransformer
inputPath
- the path to the input JARmanifestTemplate
- the manifest template
BundleManifest
public com.springsource.util.osgi.manifest.BundleManifest generateManifest(com.springsource.util.parser.manifest.ManifestContents existingManifest, com.springsource.util.parser.manifest.ManifestContents manifestTemplate, java.lang.String... classPaths)
BundleTransformer
BundleManifest
for classes on the file system using the supplied manifest template
generateManifest
in interface BundleTransformer
existingManifest
- the existing manifestmanifestTemplate
- the manifest templateclassPaths
- the paths to all class folders to scan for inclusion in scanning
BundleManifest
public Result transform(java.lang.String inputPath, com.springsource.util.parser.manifest.ManifestContents manifestTemplate, java.lang.String outputPath)
BundleTransformer
transform
in interface BundleTransformer
inputPath
- the path to the input JARmanifestTemplate
- the manifest templateoutputPath
- the path to which the transformed JAR should be written
public Result merge(java.lang.String inputPath, com.springsource.util.parser.manifest.ManifestContents manifestTemplate, java.lang.String outputPath)
BundleTransformer
merge
in interface BundleTransformer
inputPath
- the path to the input JARmanifestTemplate
- the manifest templateoutputPath
- the path to which the transformed JAR should be written
private com.springsource.util.osgi.manifest.BundleManifest generateManifest(java.lang.String inputPath, com.springsource.util.parser.manifest.ManifestContents manifestTemplate, boolean merge)
private void readManifests(com.springsource.util.parser.manifest.ManifestContents jarManifest, com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
private void modifyManifest(com.springsource.util.parser.manifest.ManifestContents manifest)
private void modifyManifestTemplate(com.springsource.util.parser.manifest.ManifestContents manifestTemplate)
private void modifyPartialManifest(ReadablePartialManifest partialManifest, boolean merge)
private java.util.jar.JarFile loadJar(java.lang.String inputPath)
private void analyzeEntries(java.util.jar.JarFile inputJar, PartialManifest partialManifest)
private void analyzeEntries(PartialManifest partialManifest, java.lang.String... classPaths)
private void analyzeClassFolder(java.io.File classFolder, java.lang.String classFolderName, PartialManifest partialManifest)
private void analyzeEntry(java.lang.String artefactName, java.io.InputStream in, PartialManifest partialManifest)
private void writeOutputJar(java.lang.String inputPath, com.springsource.util.osgi.manifest.BundleManifest manifest, java.lang.String outputPath)
private void copy(java.io.InputStream in, java.io.OutputStream out) throws java.io.IOException
java.io.IOException
private void analyseEntryWithTemplate(java.lang.String artifactName, PartialManifest partialManifest, StandardBundleTransformer.AnalysisStateTemplate analysisStateTemplate)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |