Class RegistryFactory
The following methods can be used without OSGi running:
createRegistry(RegistryStrategy, Object, Object)
getRegistry()
setDefaultRegistryProvider(IRegistryProvider)
This class is not intended to be subclassed or instantiated.
- Since:
- org.eclipse.equinox.registry 3.2
- Restriction:
- This class is not intended to be instantiated by clients.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic RegistryStrategy
createOSGiStrategy
(File[] storageDirs, boolean[] cacheReadOnly, Object token) Creates a registry strategy that can be used in an OSGi container.static IExtensionRegistry
createRegistry
(RegistryStrategy strategy, Object masterToken, Object userToken) Creates a new extension registry based on the given set of parameters.static IExtensionRegistry
Returns the default extension registry specified by the registry provider.static void
setDefaultRegistryProvider
(IRegistryProvider provider) Use this method to specify the default registry provider.
-
Constructor Details
-
RegistryFactory
public RegistryFactory()
-
-
Method Details
-
createRegistry
public static IExtensionRegistry createRegistry(RegistryStrategy strategy, Object masterToken, Object userToken) Creates a new extension registry based on the given set of parameters.The strategy is an optional collection of methods that supply additional registry functionality. Users may pass in
null
for the strategy if default behavior is sufficient.The master token is stored by the registry and later used as an identifier of callers who are allowed full control over the registry functionality. Users may pass in
null
as a master token.The user token is stored by the registry and later used as an identifier of callers who are allowed to control registry at the user level. For instance, users attempting to modify dynamic contributions to the registry have to use the user token. Users may pass in
null
as a user token.- Parameters:
strategy
- registry strategy ornull
masterToken
- the token used for master control of the registry ornull
userToken
- the token used for user control of the registry ornull
- Returns:
- the new extension registry
-
getRegistry
Returns the default extension registry specified by the registry provider. May returnnull
if the provider has not been set or if the registry has not been created.- Returns:
- existing extension registry or
null
-
createOSGiStrategy
public static RegistryStrategy createOSGiStrategy(File[] storageDirs, boolean[] cacheReadOnly, Object token) Creates a registry strategy that can be used in an OSGi container. The strategy uses OSGi contributions and contributors for the registry processing and takes advantage of additional mechanisms available through the OSGi library.The OSGi registry strategy sequentially checks the array of storage directories to discover the location of the registry cache formed by previous invocations of the extension registry. Once found, the location is used to store registry cache. If this value is
null
then caching of the registry content is disabled.The cache read-only array is an array the same length as the storage directory array. It contains boolean values indicating whether or not each storage directory is read-only. If the value at an index is
true
then the location at the corresponding index in the storage directories array is read-only; iffalse
then the cache location is read-write. The array can benull
if thestorageDirs
parameter isnull
.The master token should be passed to the OSGi registry strategy to permit it to perform contributions to the registry.
- Parameters:
storageDirs
- array of file system directories ornull
cacheReadOnly
- array of read only attributes ornull
token
- control token for the registry- Returns:
- registry strategy that can be used in an OSGi container
- See Also:
-
setDefaultRegistryProvider
Use this method to specify the default registry provider. The default registry provider is immutable in the sense that it can be set only once during the application runtime. Attempts to change the default registry provider will cause an exception to be thrown.The given registry provider must not be
null
.- Parameters:
provider
- extension registry provider- Throws:
CoreException
- if a default registry provider was already set for this application- See Also:
-