public class BaseStorageHook extends Object implements StorageHook, AdaptorHook
| Modifier and Type | Field and Description |
|---|---|
static String |
COMPOSITE_BUNDLE |
static String |
COMPOSITE_HEADER |
static int |
DEL_BUNDLE_STORE |
static int |
DEL_GENERATION |
static String |
EXTERNAL_LIB_PREFIX |
static int |
HASHCODE |
static String |
KEY |
static String |
SURROGATE_BUNDLE |
static char |
VARIABLE_DELIM_CHAR |
static String |
VARIABLE_DELIM_STRING |
| Constructor and Description |
|---|
BaseStorageHook(BaseStorage storage) |
| Modifier and Type | Method and Description |
|---|---|
void |
addProperties(Properties properties)
Gets called by the adaptor during
FrameworkAdaptor.getProperties(). |
boolean |
compare(KeyedElement other)
Compares this element with a specified element
|
void |
copy(StorageHook storageHook)
Copies the data from the specified storage hook into this storage hook.
|
StorageHook |
create(BaseData bundledata)
Creates an uninitialized storage hook for the specified bundledata.
|
FrameworkLog |
createFrameworkLog()
Gets called by the adaptor during
FrameworkAdaptor.getFrameworkLog(). |
boolean |
forgetStartLevelChange(int startlevel)
Gets called by a base data during
BundleData.setStartLevel(int). |
boolean |
forgetStatusChange(int status)
Gets called by a base data during
BundleData.setStatus(int). |
void |
frameworkStart(BundleContext context)
Gets called by the adaptor during
FrameworkAdaptor.frameworkStart(BundleContext). |
void |
frameworkStop(BundleContext context)
Gets called by the adaptor during
FrameworkAdaptor.frameworkStop(BundleContext). |
void |
frameworkStopping(BundleContext context)
Gets called by the adaptor during
FrameworkAdaptor.frameworkStopping(BundleContext). |
File |
getBundleStore() |
File |
getDataFile(String path) |
String |
getFileName() |
int |
getGeneration() |
Object |
getKey()
Returns the key for this element
|
int |
getKeyHashCode()
Returns the hash code of the key
|
Dictionary<String,String> |
getManifest(boolean firstLoad)
Returns the manifest for the data in this storage hook, or null if this hook does
not provide the manifest.
|
String[] |
getNativePaths() |
BaseStorage |
getStorage() |
int |
getStorageVersion()
Returns the storage version of this storage hook.
|
void |
handleRuntimeError(Throwable error)
Gets called by the adaptor during
FrameworkAdaptor.handleRuntimeError(Throwable). |
void |
initialize(BaseAdaptor adaptor)
Gets called by the adaptor during
FrameworkAdaptor.initialize(EventPublisher). |
void |
initialize(Dictionary<String,String> manifest)
Initializes this storage hook with the content of the specified bundle manifest.
|
void |
installNativePaths(String[] installPaths) |
boolean |
isReference() |
StorageHook |
load(BaseData target,
DataInputStream in)
Creates a new storage hook and loads the data from the specified
input stream into the storage hook.
|
URLConnection |
mapLocationToURLConnection(String location)
Gets called by the adaptor during
FrameworkAdaptor.mapLocationToURLConnection(String). |
void |
save(DataOutputStream out)
Saves the data from this storage hook into the specified output stream.
|
void |
setFileName(String fileName) |
void |
setReference(boolean reference) |
static String |
substituteVars(String path) |
void |
validate()
Validates the data in this storage hook, if the data is invalid then an illegal state
exception is thrown
|
void |
validateNativePaths(String[] paths) |
public static final String KEY
public static final int HASHCODE
public static final int DEL_BUNDLE_STORE
public static final int DEL_GENERATION
public static final String EXTERNAL_LIB_PREFIX
public static final String VARIABLE_DELIM_STRING
public static final char VARIABLE_DELIM_CHAR
public static String COMPOSITE_HEADER
public static String COMPOSITE_BUNDLE
public static String SURROGATE_BUNDLE
public BaseStorageHook(BaseStorage storage)
public int getStorageVersion()
StorageHookgetStorageVersion in interface StorageHookpublic StorageHook create(BaseData bundledata) throws BundleException
StorageHookStorageHook.initialize(Dictionary) method called to initialize the storage hook.create in interface StorageHookbundledata - a base data the created storage hook will be associated withBundleExceptionpublic void initialize(Dictionary<String,String> manifest) throws BundleException
StorageHookinitialize in interface StorageHookmanifest - the bundle manifest to load into this storage hookBundleException - if any error occursStorageHook.create(BaseData),
StorageHook.copy(StorageHook)public StorageHook load(BaseData target, DataInputStream in) throws IOException
StorageHook
It is important that this method and the StorageHook.save(DataOutputStream) method
stay in sync. This method must be able to successfully read the data saved by the
StorageHook.save(DataOutputStream) method.
load in interface StorageHooktarget - a base data the loaded storage hook will be associated within - an input stream used to load the storage hook's data from.IOException - if any error occursStorageHook.save(DataOutputStream)public void save(DataOutputStream out) throws IOException
StorageHook
It is important that this method and the StorageHook.load(BaseData, DataInputStream)
method stay in sync. This method must be able to save data which the
StorageHook.load(BaseData, DataInputStream) method can ready successfully.
save in interface StorageHookout - an output stream used to save the storage hook's data from.IOException - if any error occursStorageHook.load(BaseData, DataInputStream)public int getKeyHashCode()
KeyedElementgetKeyHashCode in interface KeyedElementpublic boolean compare(KeyedElement other)
KeyedElementcompare in interface KeyedElementother - the element to compare withpublic Object getKey()
KeyedElementgetKey in interface KeyedElementpublic String getFileName()
public int getGeneration()
public String[] getNativePaths()
public void installNativePaths(String[] installPaths) throws BundleException
BundleExceptionpublic void validateNativePaths(String[] paths) throws BundleException
BundleExceptionpublic boolean isReference()
public File getBundleStore()
public void setReference(boolean reference)
public void setFileName(String fileName)
public void copy(StorageHook storageHook)
StorageHookStorageHook.initialize(Dictionary) method.copy in interface StorageHookstorageHook - the original storage hook to copy data out of.StorageHook.create(BaseData),
StorageHook.initialize(Dictionary)public void validate()
throws IllegalArgumentException
StorageHookvalidate in interface StorageHookIllegalArgumentException - if the data is invalidpublic Dictionary<String,String> getManifest(boolean firstLoad) throws BundleException
StorageHookgetManifest in interface StorageHookfirstLoad - true if this is the very first time this manifest is being loaded.BundleExceptionpublic boolean forgetStatusChange(int status)
StorageHookBundleData.setStatus(int).
A base data will call this method for each configured storage hook it
is associated with until one storage hook returns true. If all configured storage
hooks return false then the BaseData will be marked dirty and will cause the
status to be persistently saved.forgetStatusChange in interface StorageHookstatus - the new status of the base datapublic boolean forgetStartLevelChange(int startlevel)
StorageHookBundleData.setStartLevel(int).
A base data will call this method for each configured storage hook it
is associated with until one storage hook returns true. If all configured storage
hooks return false then the BaseData will be marked dirty and will cause the
start level to be persistently saved.forgetStartLevelChange in interface StorageHookstartlevel - the new startlevel of the base datapublic void initialize(BaseAdaptor adaptor)
AdaptorHookFrameworkAdaptor.initialize(EventPublisher).
This method allows an adaptor hook to save the adaptor object for later.initialize in interface AdaptorHookadaptor - the adaptor object associated with this AdaptorHook.public void frameworkStart(BundleContext context) throws BundleException
AdaptorHookFrameworkAdaptor.frameworkStart(BundleContext).
This method allows an adaptor hook to execute code when the framework is starting
(e.g. to register services).frameworkStart in interface AdaptorHookcontext - the system bundle contextBundleExceptionpublic void frameworkStop(BundleContext context) throws BundleException
AdaptorHookFrameworkAdaptor.frameworkStop(BundleContext).
This method allows an adaptor hook to execute code when the framework is stopped
(e.g. to unregister services).frameworkStop in interface AdaptorHookcontext - the system bundle contextBundleExceptionpublic void frameworkStopping(BundleContext context)
AdaptorHookFrameworkAdaptor.frameworkStopping(BundleContext).
This method allows an adaptor hook to execute code when the framework is about to start
the shutdown process.frameworkStopping in interface AdaptorHookcontext - the system bundle contextpublic void addProperties(Properties properties)
AdaptorHookFrameworkAdaptor.getProperties().
This method allows an adaptor hook to add property values to the adaptor
properties object.addProperties in interface AdaptorHookproperties - the adaptor properties object.public URLConnection mapLocationToURLConnection(String location) throws IOException
AdaptorHookFrameworkAdaptor.mapLocationToURLConnection(String).
The adaptor will call this method for each configured adaptor hook until one
adaptor hook returns a non-null value. If no adaptor hook returns a non-null value
then the adaptor will perform the default behavior.mapLocationToURLConnection in interface AdaptorHooklocation - a bundle location string to be converted to a URLConnectionIOException - if an error occured creating the URLConnectionpublic void handleRuntimeError(Throwable error)
AdaptorHookFrameworkAdaptor.handleRuntimeError(Throwable).
The adaptor will call this method for each configured adaptor hook.handleRuntimeError in interface AdaptorHookerror - the unexpected error that occured.public FrameworkLog createFrameworkLog()
AdaptorHookFrameworkAdaptor.getFrameworkLog().
The adaptor will call this method for each configured adaptor hook until one
adaptor hook returns a non-null value. If no adaptor hook returns a non-null value
then the adaptor will return null.createFrameworkLog in interface AdaptorHookpublic BaseStorage getStorage()
Copyright © 2007–2016 The Apache Software Foundation. All rights reserved.