Interface StateObjectFactory
-
- All Known Implementing Classes:
StateObjectFactory.StateObjectFactoryProxy
public interface StateObjectFactory
A factory for states and their component objects.This interface is not intended to be implemented by clients.
- Since:
- 3.1
- Restriction:
- This interface is not intended to be implemented by clients.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
StateObjectFactory.StateObjectFactoryProxy
-
Field Summary
Fields Modifier and Type Field Description static StateObjectFactory
defaultFactory
The default object factory that can be used to create, populate and resolve states.
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description BundleDescription
createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, boolean singleton, boolean attachFragments, boolean dynamicFragments, String platformFilter, String[] executionEnvironments, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities)
Creates a bundle description from the given parameters.BundleDescription
createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, boolean singleton, boolean attachFragments, boolean dynamicFragments, String platformFilter, String[] executionEnvironments, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities, NativeCodeSpecification nativeCode)
Creates a bundle description from the given parameters.BundleDescription
createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, String[] providedPackages, boolean singleton)
BundleDescription
createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, String[] providedPackages, boolean singleton, boolean attachFragments, boolean dynamicFragments, String platformFilter, String executionEnvironment, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities)
BundleDescription
createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, String platformFilter, String[] executionEnvironments, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities, NativeCodeSpecification nativeCode)
Creates a bundle description from the given parameters.BundleDescription
createBundleDescription(Dictionary<String,String> manifest, String location, long id)
Deprecated.BundleDescription
createBundleDescription(BundleDescription original)
Creates a bundle description that is a copy of the given description.BundleDescription
createBundleDescription(State state, Dictionary<String,String> manifest, String location, long id)
Returns a bundle description based on the information in the supplied manifest dictionary.BundleSpecification
createBundleSpecification(String requiredSymbolicName, VersionRange requiredVersionRange, boolean export, boolean optional)
Creates a bundle specification from the given parameters.BundleSpecification
createBundleSpecification(BundleSpecification original)
Creates a bundle specification that is a copy of the given constraint.List<BundleSpecification>
createBundleSpecifications(String declaration)
Creates bundle specifications from the given declaration.ExportPackageDescription
createExportPackageDescription(String packageName, Version version, Map<String,?> directives, Map<String,?> attributes, boolean root, BundleDescription exporter)
Used by the Resolver to dynamically create ExportPackageDescription objects during the resolution process.ExportPackageDescription
createExportPackageDescription(ExportPackageDescription original)
Creates an export package specification that is a copy of the given constraintList<ExportPackageDescription>
createExportPackageDescriptions(String declaration)
Creates export package descriptions from the given declaration.GenericDescription
createGenericDescription(String name, String type, Version version, Map<String,?> attributes)
Deprecated.GenericDescription
createGenericDescription(String type, Map<String,?> attributes, Map<String,String> directives, BundleDescription supplier)
Creates a generic description from the given parametersList<GenericDescription>
createGenericDescriptions(String declaration)
Creates generic descriptions from the given declaration.GenericSpecification
createGenericSpecification(String name, String type, String matchingFilter, boolean optional, boolean multiple)
Creates a generic specification from the given parametersList<GenericSpecification>
createGenericSpecifications(String declaration)
Creates generic specifications from the given declaration.HostSpecification
createHostSpecification(String hostSymbolicName, VersionRange hostVersionRange)
Creates a host specification from the given parameters.HostSpecification
createHostSpecification(HostSpecification original)
Creates a host specification that is a copy of the given constraint.List<HostSpecification>
createHostSpecifications(String declaration)
Creates host specifications from the given declaration.ImportPackageSpecification
createImportPackageSpecification(String packageName, VersionRange versionRange, String bundleSymbolicName, VersionRange bundleVersionRange, Map<String,?> directives, Map<String,?> attributes, BundleDescription importer)
Creates an import package specification from the given parameters.ImportPackageSpecification
createImportPackageSpecification(ImportPackageSpecification original)
Creates an import package specification that is a copy of the given import packageList<ImportPackageSpecification>
createImportPackageSpecifications(String declaration)
Creates an import package specifications from the given declaration.NativeCodeDescription
createNativeCodeDescription(String[] nativePaths, String[] processors, String[] osNames, VersionRange[] osVersions, String[] languages, String filter)
Creates a native code description from the given parametersNativeCodeSpecification
createNativeCodeSpecification(NativeCodeDescription[] nativeCodeDescriptions, boolean optional)
Creates a native code specification from the given parametersState
createState()
Deprecated.State
createState(boolean resolver)
Creates an empty state with or without a resolver.State
createState(State state)
Creates a new state that is a copy of the given state.State
readState(DataInputStream stream)
Deprecated.usereadState(File)
insteadState
readState(File stateDirectory)
Reads a persisted state from the given directory.State
readState(InputStream stream)
Deprecated.usereadState(File)
insteadvoid
writeState(State state, DataOutputStream stream)
Deprecated.usewriteState(State, File)
insteadvoid
writeState(State state, File stateDirectory)
Persists the given state in the given directory.void
writeState(State state, OutputStream stream)
Deprecated.usewriteState(State, File)
instead
-
-
-
Field Detail
-
defaultFactory
static final StateObjectFactory defaultFactory
The default object factory that can be used to create, populate and resolve states. This is particularly useful when using the resolver outside the context of a running Equinox framework.
-
-
Method Detail
-
createState
State createState()
Deprecated.Creates an empty state. The returned state does not have an attached resolver.- Returns:
- the created state
-
createState
State createState(boolean resolver)
Creates an empty state with or without a resolver.- Parameters:
resolver
- true if the created state should be initialized with a resolver.- Returns:
- the created state
- Since:
- 3.2
-
createState
State createState(State state)
Creates a new state that is a copy of the given state. The returned state will contain copies of all bundle descriptions in the given state. The user objects from the original bundle descriptions is not copied and no data pertaining to resolution is copied. The returned state will have a new resolver attached to it.- Parameters:
state
- a state to be copied- Returns:
- the created state
-
createBundleDescription
BundleDescription createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, String[] providedPackages, boolean singleton)
Creates a bundle description from the given parameters.- Parameters:
id
- id for the bundlesymbolicName
- symbolic name for the bundle (may benull
)version
- version for the bundle (may benull
)location
- location for the bundle (may benull
)required
- version constraints for all required bundles (may benull
)host
- version constraint specifying the host for the bundle to be created. Should benull
if the bundle is not a fragmentimports
- version constraints for all packages imported (may benull
)exports
- package descriptions of all the exported packages (may benull
)providedPackages
- the list of provided packages (may benull
)singleton
- whether the bundle created should be a singleton- Returns:
- the created bundle description
-
createBundleDescription
BundleDescription createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, String[] providedPackages, boolean singleton, boolean attachFragments, boolean dynamicFragments, String platformFilter, String executionEnvironment, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities)
Creates a bundle description from the given parameters.- Parameters:
id
- id for the bundlesymbolicName
- symbolic name for the bundle (may benull
)version
- version for the bundle (may benull
)location
- location for the bundle (may benull
)required
- version constraints for all required bundles (may benull
)host
- version constraint specifying the host for the bundle to be created. Should benull
if the bundle is not a fragmentimports
- version constraints for all packages imported (may benull
)exports
- package descriptions of all the exported packages (may benull
)providedPackages
- the list of provided packages (may benull
)singleton
- whether the bundle created should be a singletonattachFragments
- whether the bundle allows fragments to attachdynamicFragments
- whether the bundle allows fragments to dynamically attachplatformFilter
- the platform filter (may benull
)executionEnvironment
- the execution environment (may benull
)genericRequires
- the version constraints for all required capabilities (may benull
)genericCapabilities
- the specifications of all the capabilities of the bundle (may benull
)- Returns:
- the created bundle description
-
createBundleDescription
BundleDescription createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, boolean singleton, boolean attachFragments, boolean dynamicFragments, String platformFilter, String[] executionEnvironments, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities)
Creates a bundle description from the given parameters.- Parameters:
id
- id for the bundlesymbolicName
- symbolic name for the bundle (may benull
)version
- version for the bundle (may benull
)location
- location for the bundle (may benull
)required
- version constraints for all required bundles (may benull
)host
- version constraint specifying the host for the bundle to be created. Should benull
if the bundle is not a fragmentimports
- version constraints for all packages imported (may benull
)exports
- package descriptions of all the exported packages (may benull
)singleton
- whether the bundle created should be a singletonattachFragments
- whether the bundle allows fragments to attachdynamicFragments
- whether the bundle allows fragments to dynamically attachplatformFilter
- the platform filter (may benull
)executionEnvironments
- the execution environment (may benull
)genericRequires
- the version constraints for all required capabilities (may benull
)genericCapabilities
- the specifications of all the capabilities of the bundle (may benull
)- Returns:
- the created bundle description
-
createBundleDescription
BundleDescription createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, boolean singleton, boolean attachFragments, boolean dynamicFragments, String platformFilter, String[] executionEnvironments, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities, NativeCodeSpecification nativeCode)
Creates a bundle description from the given parameters.- Parameters:
id
- id for the bundlesymbolicName
- symbolic name for the bundle (may benull
)version
- version for the bundle (may benull
)location
- location for the bundle (may benull
)required
- version constraints for all required bundles (may benull
)host
- version constraint specifying the host for the bundle to be created. Should benull
if the bundle is not a fragmentimports
- version constraints for all packages imported (may benull
)exports
- package descriptions of all the exported packages (may benull
)singleton
- whether the bundle created should be a singletonattachFragments
- whether the bundle allows fragments to attachdynamicFragments
- whether the bundle allows fragments to dynamically attachplatformFilter
- the platform filter (may benull
)executionEnvironments
- the execution environment (may benull
)genericRequires
- the version constraints for all required capabilities (may benull
)genericCapabilities
- the specifications of all the capabilities of the bundle (may benull
)nativeCode
- the native code specification of the bundle (may benull
)- Returns:
- the created bundle description
- Since:
- 3.4
-
createBundleDescription
BundleDescription createBundleDescription(long id, String symbolicName, Version version, String location, BundleSpecification[] required, HostSpecification host, ImportPackageSpecification[] imports, ExportPackageDescription[] exports, String platformFilter, String[] executionEnvironments, GenericSpecification[] genericRequires, GenericDescription[] genericCapabilities, NativeCodeSpecification nativeCode)
Creates a bundle description from the given parameters.- Parameters:
id
- id for the bundlesymbolicName
- the symbolic name of the bundle. This may include directives and/or attributes encoded using the Bundle-SymbolicName header.version
- version for the bundle (may benull
)location
- location for the bundle (may benull
)required
- version constraints for all required bundles (may benull
)host
- version constraint specifying the host for the bundle to be created. Should benull
if the bundle is not a fragmentimports
- version constraints for all packages imported (may benull
)exports
- package descriptions of all the exported packages (may benull
)platformFilter
- the platform filter (may benull
)executionEnvironments
- the execution environment (may benull
)genericRequires
- the version constraints for all required capabilities (may benull
)genericCapabilities
- the specifications of all the capabilities of the bundle (may benull
)nativeCode
- the native code specification of the bundle (may benull
)- Returns:
- the created bundle description
- Since:
- 3.8
-
createBundleDescription
BundleDescription createBundleDescription(State state, Dictionary<String,String> manifest, String location, long id) throws BundleException
Returns a bundle description based on the information in the supplied manifest dictionary. The manifest should contain String keys and String values which correspond to proper OSGi manifest headers and values.- Parameters:
state
- the state for which the description is being createdmanifest
- a collection of OSGi manifest headers and valueslocation
- the URL location of the bundle (may benull
)id
- the id of the bundle- Returns:
- a bundle description derived from the given information
- Throws:
BundleException
- if an error occurs while reading the manifest
-
createBundleDescription
BundleDescription createBundleDescription(Dictionary<String,String> manifest, String location, long id) throws BundleException
Deprecated.Returns a bundle description based on the information in the supplied manifest dictionary. The manifest should contain String keys and String values which correspond to proper OSGi manifest headers and values.- Parameters:
manifest
- a collection of OSGi manifest headers and valueslocation
- the URL location of the bundle (may benull
)id
- the id of the bundle- Returns:
- a bundle description derived from the given information
- Throws:
BundleException
- if an error occurs while reading the manifest
-
createBundleDescription
BundleDescription createBundleDescription(BundleDescription original)
Creates a bundle description that is a copy of the given description. The user object of the original bundle description is not copied.- Parameters:
original
- the bundle description to be copied- Returns:
- the created bundle description
-
createBundleSpecification
BundleSpecification createBundleSpecification(String requiredSymbolicName, VersionRange requiredVersionRange, boolean export, boolean optional)
Creates a bundle specification from the given parameters.- Parameters:
requiredSymbolicName
- the symbolic name for the required bundlerequiredVersionRange
- the required version range (may benull
)export
- whether the required bundle should be re-exportedoptional
- whether the constraint should be optional- Returns:
- the created bundle specification
- See Also:
for information on the available match rules
-
createBundleSpecification
BundleSpecification createBundleSpecification(BundleSpecification original)
Creates a bundle specification that is a copy of the given constraint.- Parameters:
original
- the constraint to be copied- Returns:
- the created bundle specification
-
createBundleSpecifications
List<BundleSpecification> createBundleSpecifications(String declaration)
Creates bundle specifications from the given declaration. The declaration uses the bundle manifest syntax for the Require-Bundle header.- Parameters:
declaration
- a string declaring bundle specifications- Returns:
- the bundle specifications
- Since:
- 3.8
-
createHostSpecification
HostSpecification createHostSpecification(String hostSymbolicName, VersionRange hostVersionRange)
Creates a host specification from the given parameters.- Parameters:
hostSymbolicName
- the symbolic name for the host bundlehostVersionRange
- the version range for the host bundle (may benull
)- Returns:
- the created host specification
- See Also:
for information on the available match rules
-
createHostSpecifications
List<HostSpecification> createHostSpecifications(String declaration)
Creates host specifications from the given declaration. The declaration uses the bundle manifest syntax for the Fragment-Host header.- Parameters:
declaration
- a string declaring host specifications- Returns:
- the host specifications
- Since:
- 3.8
-
createHostSpecification
HostSpecification createHostSpecification(HostSpecification original)
Creates a host specification that is a copy of the given constraint.- Parameters:
original
- the constraint to be copied- Returns:
- the created host specification
-
createImportPackageSpecification
ImportPackageSpecification createImportPackageSpecification(String packageName, VersionRange versionRange, String bundleSymbolicName, VersionRange bundleVersionRange, Map<String,?> directives, Map<String,?> attributes, BundleDescription importer)
Creates an import package specification from the given parameters.- Parameters:
packageName
- the package nameversionRange
- the package versionRange (may benull
).bundleSymbolicName
- the Bundle-SymbolicName of the bundle that must export the package (may benull
)bundleVersionRange
- the bundle versionRange (may benull
).directives
- the directives for this package (may benull
)attributes
- the arbitrary attributes for the package import (may benull
)importer
- the importing bundle (may benull
)- Returns:
- the created package specification
-
createImportPackageSpecification
ImportPackageSpecification createImportPackageSpecification(ImportPackageSpecification original)
Creates an import package specification that is a copy of the given import package- Parameters:
original
- the import package to be copied- Returns:
- the created package specification
-
createImportPackageSpecifications
List<ImportPackageSpecification> createImportPackageSpecifications(String declaration)
Creates an import package specifications from the given declaration. The declaration uses the bundle manifest syntax for the Import-Package header.- Parameters:
declaration
- a string declaring import package specifications- Returns:
- the import package specifications
- Since:
- 3.8
-
createExportPackageDescription
ExportPackageDescription createExportPackageDescription(String packageName, Version version, Map<String,?> directives, Map<String,?> attributes, boolean root, BundleDescription exporter)
Used by the Resolver to dynamically create ExportPackageDescription objects during the resolution process. The Resolver needs to create ExportPackageDescriptions dynamically for a host when a fragment. exports a package- Parameters:
packageName
- the package nameversion
- the version of the package (may benull
)directives
- the directives for the package (may benull
)attributes
- the attributes for the package (may benull
)root
- whether the package is a root packageexporter
- the exporter of the package (may benull
)- Returns:
- the created package
-
createGenericDescription
GenericDescription createGenericDescription(String name, String type, Version version, Map<String,?> attributes)
Deprecated.Creates a generic description from the given parameters- Parameters:
name
- the name of the generic descriptiontype
- the type of the generic description (may benull
)version
- the version of the generic description (may benull
)attributes
- the attributes for the generic description (may benull
)- Returns:
- the created generic description
-
createGenericDescription
GenericDescription createGenericDescription(String type, Map<String,?> attributes, Map<String,String> directives, BundleDescription supplier)
Creates a generic description from the given parameters- Parameters:
type
- the type of the generic description (may benull
)attributes
- the attributes for the generic description (may benull
)directives
- the directives for the generic description (may benull
)supplier
- the supplier of the generic description (may benull
)- Returns:
- the created generic description
- Since:
- 3.7
-
createGenericDescriptions
List<GenericDescription> createGenericDescriptions(String declaration)
Creates generic descriptions from the given declaration. The declaration uses the bundle manifest syntax for the Provide-Capability header.- Parameters:
declaration
- a string declaring generic descriptions- Returns:
- the generic descriptions
- Since:
- 3.8
-
createGenericSpecification
GenericSpecification createGenericSpecification(String name, String type, String matchingFilter, boolean optional, boolean multiple) throws InvalidSyntaxException
Creates a generic specification from the given parameters- Parameters:
name
- the name of the generic specificationtype
- the type of the generic specification (may benull
)matchingFilter
- the matching filter (may benull
)optional
- whether the specification is optionalmultiple
- whether the specification allows for multiple suppliers- Returns:
- the created generic specification
- Throws:
InvalidSyntaxException
- if the matching filter is invalid
-
createGenericSpecifications
List<GenericSpecification> createGenericSpecifications(String declaration)
Creates generic specifications from the given declaration. The declaration uses the bundle manifest syntax for the Require-Capability header.- Parameters:
declaration
- a string declaring generic specifications- Returns:
- the generic specifications
- Since:
- 3.8
-
createNativeCodeSpecification
NativeCodeSpecification createNativeCodeSpecification(NativeCodeDescription[] nativeCodeDescriptions, boolean optional)
Creates a native code specification from the given parameters- Parameters:
nativeCodeDescriptions
- the native code descriptorsoptional
- whether the specification is optional- Returns:
- the created native code specification
- Since:
- 3.4
-
createNativeCodeDescription
NativeCodeDescription createNativeCodeDescription(String[] nativePaths, String[] processors, String[] osNames, VersionRange[] osVersions, String[] languages, String filter) throws InvalidSyntaxException
Creates a native code description from the given parameters- Parameters:
nativePaths
- the native code paths (may benull
)processors
- the supported processors (may benull
)osNames
- the supported operating system names (may benull
)osVersions
- the supported operating system version ranges (may benull
)languages
- the supported languages (may benull
)filter
- the selection filter (may benull
)- Returns:
- the created native code description
- Throws:
InvalidSyntaxException
- if the selection filter is invalid- Since:
- 3.4
-
createExportPackageDescription
ExportPackageDescription createExportPackageDescription(ExportPackageDescription original)
Creates an export package specification that is a copy of the given constraint- Parameters:
original
- the export package to be copied- Returns:
- the created package
-
createExportPackageDescriptions
List<ExportPackageDescription> createExportPackageDescriptions(String declaration)
Creates export package descriptions from the given declaration. The declaration uses the bundle manifest syntax for the Export-Package header.- Parameters:
declaration
- a string declaring export package descriptions- Returns:
- the export package descriptions
- Since:
- 3.8
-
writeState
void writeState(State state, OutputStream stream) throws IOException
Deprecated.usewriteState(State, File)
insteadPersists the given state in the given output stream. Closes the stream.- Parameters:
state
- the state to be writtenstream
- the stream where to write the state to- Throws:
IOException
- if an IOException happens while writing the state to the streamIllegalArgumentException
- if the state provided was not created by this factory- Since:
- 3.1
-
writeState
void writeState(State state, DataOutputStream stream) throws IOException
Deprecated.usewriteState(State, File)
insteadPersists the given state in the given output stream. Closes the stream.- Parameters:
state
- the state to be writtenstream
- the stream where to write the state to- Throws:
IOException
- if an IOException happens while writing the state to the streamIllegalArgumentException
- if the state provided was not created by this factory- See Also:
writeState(State, OutputStream)
-
writeState
void writeState(State state, File stateDirectory) throws IOException
Persists the given state in the given directory.- Parameters:
state
- the state to be writtenstateDirectory
- the directory where to write the state to- Throws:
IOException
- if an IOException happens while writing the state to the streamIllegalArgumentException
- if the state provided was not created by this factory
-
readState
State readState(InputStream stream) throws IOException
Deprecated.usereadState(File)
insteadReads a persisted state from the given stream. Closes the stream.- Parameters:
stream
- the stream where to read the state from- Returns:
- the state read
- Throws:
IOException
- if an IOException happens while reading the state from the stream- Since:
- 3.1
-
readState
State readState(DataInputStream stream) throws IOException
Deprecated.usereadState(File)
insteadReads a persisted state from the given stream. Closes the stream.- Parameters:
stream
- the stream where to read the state from- Returns:
- the state read
- Throws:
IOException
- if an IOException happens while reading the state from the stream- See Also:
readState(InputStream)
-
readState
State readState(File stateDirectory) throws IOException
Reads a persisted state from the given directory.- Parameters:
stateDirectory
- the directory where to read the state from- Returns:
- the state read
- Throws:
IOException
- if an IOException happens while reading the state from the stream
-
-