public interface ComponentDefinitionRegistry
Modifier and Type | Method and Description |
---|---|
boolean |
containsComponentDefinition(String id)
Determine if the component registry contains a component definition for the given id
|
org.osgi.service.blueprint.reflect.ComponentMetadata |
getComponentDefinition(String id)
Retrieve a component's metadata by id
|
Set<String> |
getComponentDefinitionNames()
Returns a set of the id of top-level blueprint components (both named and unnamed).
|
List<Interceptor> |
getInterceptors(org.osgi.service.blueprint.reflect.ComponentMetadata component)
Retrieve all interceptors registered against a
ComponentMetadata instance |
List<org.osgi.service.blueprint.reflect.Target> |
getTypeConverters() |
void |
registerComponentDefinition(org.osgi.service.blueprint.reflect.ComponentMetadata component)
Register a new component
The
ComponentMetadata argument must have an id. |
void |
registerInterceptorWithComponent(org.osgi.service.blueprint.reflect.ComponentMetadata component,
Interceptor interceptor)
Register an interceptor for a given component
Since the interceptor is registered against a
ComponentMetadata instance and not an id,
interceptors can be registered for anonymous components as well as named and unnamed components. |
void |
registerTypeConverter(org.osgi.service.blueprint.reflect.Target component) |
void |
removeComponentDefinition(String id)
Remove the component definition with a given id
If no component is registered under the id, this method is a no-op.
|
boolean containsComponentDefinition(String id)
id
- org.osgi.service.blueprint.reflect.ComponentMetadata getComponentDefinition(String id)
id
- The id of the component. This is either the id specified in the Blueprint xml or the
generated id of an unnamed componentComponentMetadata
or null
if the id does not match
any registered componentSet<String> getComponentDefinitionNames()
void registerComponentDefinition(org.osgi.service.blueprint.reflect.ComponentMetadata component)
ComponentMetadata
argument must have an id. So unnamed components should have an id
generated prior to invoking this method. Also, no component definition may already be registered
under the same id.component
- the component to be registeredIllegalArgumentException
- if the component has no idComponentNameAlreadyInUseException
- if there already exists a component definition
in the registry with the same idvoid removeComponentDefinition(String id)
id
- the id of the component definition to be removedvoid registerTypeConverter(org.osgi.service.blueprint.reflect.Target component)
List<org.osgi.service.blueprint.reflect.Target> getTypeConverters()
void registerInterceptorWithComponent(org.osgi.service.blueprint.reflect.ComponentMetadata component, Interceptor interceptor)
ComponentMetadata
instance and not an id,
interceptors can be registered for anonymous components as well as named and unnamed components.
Note: Although an interceptor is registered against a specific ComponentMetadata
instance,
an interceptor should not rely on this fact. This will allow NamespaceHandlers
and
ComponentDefinitionRegistryProcessors
to respect registered interceptors even when
the actual ComponentMetadata
instance is changed or augmented. If an interceptor does
not support such a scenario it should nevertheless fail gracefully in the case of modified
ComponentMetadata
instances.
Note: at the time of this writing (version 0.1) interceptors are only supported for BeanMetadata
.
Interceptors registered against other component types will be ignored.component
- the component the interceptor is to be registered againstinterceptor
- the interceptor to be usedList<Interceptor> getInterceptors(org.osgi.service.blueprint.reflect.ComponentMetadata component)
ComponentMetadata
instancecomponent
- Copyright © 2016. All rights reserved.