public class JarFileResourceStore extends Object implements ResourceStore
JarFileResourceStore
knows how to read and write
resources from (to respectively) a Jar File.Constructor and Description |
---|
JarFileResourceStore(JarFile source,
File target)
Construct a
JarFileResourceStore wrapping the given original bundle,
and configured to output in the given target file. |
Modifier and Type | Method and Description |
---|---|
void |
accept(ResourceVisitor visitor)
Browse all resources available in this store.
|
void |
close()
Close the store: no methods will be called anymore on this instance.
|
void |
open()
Notify the store that resource will be written.
|
byte[] |
read(String path)
Return the bytecode of the given class name.
|
void |
setManifest(Manifest manifest) |
void |
setManifestBuilder(ManifestBuilder manifestBuilder) |
void |
setResourceMapper(ResourceMapper mapper) |
void |
write(String resourcePath,
byte[] resource)
Notify the builder that a new resource has been built and should
be stored in the resulting bundle.
|
void |
writeMetadata(org.apache.felix.ipojo.metadata.Element metadata)
Writes the given Element into this store.
|
public JarFileResourceStore(JarFile source, File target) throws IOException
JarFileResourceStore
wrapping the given original bundle,
and configured to output in the given target file.source
- original Bundletarget
- File where the updated Bundle will be outputtedIOException
- if there is an error retrieving the Manifest from the original JarFilepublic void setResourceMapper(ResourceMapper mapper)
public void setManifestBuilder(ManifestBuilder manifestBuilder)
public void setManifest(Manifest manifest)
public byte[] read(String path) throws IOException
ResourceStore
read
in interface ResourceStore
path
- normalized resource path (format: org/objectweb/asm/Visitor.class)IOException
- if resource was not foundpublic void accept(ResourceVisitor visitor)
ResourceStore
accept
in interface ResourceStore
visitor
- is called for each available resourcepublic void open() throws IOException
ResourceStore
open
in interface ResourceStore
IOException
- if there was an errorpublic void writeMetadata(org.apache.felix.ipojo.metadata.Element metadata)
ResourceStore
writeMetadata
in interface ResourceStore
metadata
- Element metadata to be insertedpublic void write(String resourcePath, byte[] resource) throws IOException
ResourceStore
write
in interface ResourceStore
resourcePath
- resource name of the class (format: org/objectweb/asm/Visitor.class)resource
- content of the resourceIOException
- if there was an error storing the resourcepublic void close() throws IOException
ResourceStore
close
in interface ResourceStore
IOException
- if close failedCopyright © 2006–2013 The Apache Software Foundation. All rights reserved.