AbstractComponentDescriptor
, FSCRDBComponent
public interface IComponentDescriptor
IComponentsRepository
without requiring download of further component
resources or other processing.
A Component Descriptor can be retrieved by calling IComponentsRepository.getComponent(String)
or
by a component lookup passing this interface as expected result type:
IComponentsLookup.INSTANCE.lookup(<component name>,IComponentDescriptor.class);
Component metadata is provided as properties in the format of a Properties
properties file. At least such property file should
declare a component type:
com.zfabrik.component.type=<component type>For example
com.zfabrik.component.type=com.zfabrik.javawould define a Java component.
Component property values may be provided dynamically through implementations of IComponentDescriptorProcessor
.
Given a component property someNameSpace.somePropertyName
, it may be further qualified with a processing
style, such as JEXL3, by appending the style to the property name separated by a colon (that needs to be escaped in property
file format). In the example this would look as follows:
someNameSpace.somePropertyName\:JEXL3=....
See the JEXL3 component descriptor processor documentation for more details.IComponentsRepository
,
IComponentsLookup
Modifier and Type | Field | Description |
---|---|---|
static java.lang.String |
ANY_COMPONENT_TYPE |
Component type for "any" component.
|
static java.lang.String |
COMPONENT_CLZ |
The class name of the component implementation.
|
static java.lang.String |
COMPONENT_DESCRIPTOR_STYLE_PLAIN |
The default expression evaluation style for the component descriptor and default value
of
#COMPONENT_DESCRIPTOR_STYLE . |
static java.lang.String |
COMPONENT_NAME |
The name of the component.
|
static java.lang.String |
COMPONENT_TYPE |
The type of a component.
|
static java.lang.String |
DEPENDENCIES |
Components declare dependency on other components by specifying a comma-separated list of component names.
|
static java.lang.String |
EXTENSION_POINTS |
A component may declare to an implementation of an extension point.
|
static java.lang.String |
LINK_COMPONENT_TYPE |
Component type for component (symbolic) links.
|
static java.lang.String |
LINK_TARGET_COMPONENT |
Component descriptor property defining the link target
|
static java.lang.String |
REVISION_INFO |
Additional revision information.
|
Modifier and Type | Method | Description |
---|---|---|
java.lang.String |
getName() |
Gets the name of the component.
|
java.util.Properties |
getProperties() |
Get the properties of this component.
|
java.lang.String |
getProperty(java.lang.String name) |
Just a short hand for
getProperties().getProperty(String) |
java.util.Properties |
getRawProperties() |
Get the raw properties of this component.
|
long |
getRevision() |
Get the revision of the component.
|
java.lang.String |
getType() |
Gets the type of the component.
|
static final java.lang.String COMPONENT_NAME
static final java.lang.String COMPONENT_TYPE
com.zfabrik.java
for a Java component.static final java.lang.String COMPONENT_DESCRIPTOR_STYLE_PLAIN
#COMPONENT_DESCRIPTOR_STYLE
. If set to this value, no expression evaluation will take place.static final java.lang.String COMPONENT_CLZ
static final java.lang.String DEPENDENCIES
IDependencyComponent
and correspondingly
invoked before the component resource is even created. This is slightly different to dependencies for
system states (see there) in that these dependencies will not be revisited upon synchronisations.
The declaring component will be dependent on all declared dependency components.static final java.lang.String REVISION_INFO
static final java.lang.String EXTENSION_POINTS
static final java.lang.String LINK_COMPONENT_TYPE
LINK_TARGET_COMPONENT
property. This is a low-level built-in
component type.static final java.lang.String LINK_TARGET_COMPONENT
static final java.lang.String ANY_COMPONENT_TYPE
COMPONENT_CLZ
and
has behavior depending on the type of class:
If no component type is specified on a component descriptor, it defaults to this type.java.lang.String getName()
java.lang.String getType()
getProperty(COMPONENT_TYPE)
.long getRevision()
java.util.Properties getProperties()
java.util.Properties getRawProperties()
getProperties()
the result of
this method is data as defined in persistent component configuration-java.lang.String getProperty(java.lang.String name)
getProperties().getProperty(String)