public class ComponentDefinitionRegistryImpl extends Object implements ComponentDefinitionRegistry
Constructor and Description |
---|
ComponentDefinitionRegistryImpl() |
Modifier and Type | Method and Description |
---|---|
boolean |
containsComponentDefinition(String name)
Determine if the component registry contains a component definition for the given id
|
org.osgi.service.blueprint.reflect.ComponentMetadata |
getComponentDefinition(String name)
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 name)
Remove the component definition with a given id
If no component is registered under the id, this method is a no-op.
|
void |
reset() |
public void reset()
public boolean containsComponentDefinition(String name)
ComponentDefinitionRegistry
containsComponentDefinition
in interface ComponentDefinitionRegistry
public org.osgi.service.blueprint.reflect.ComponentMetadata getComponentDefinition(String name)
ComponentDefinitionRegistry
getComponentDefinition
in interface ComponentDefinitionRegistry
name
- 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 componentpublic Set<String> getComponentDefinitionNames()
ComponentDefinitionRegistry
getComponentDefinitionNames
in interface ComponentDefinitionRegistry
public void registerComponentDefinition(org.osgi.service.blueprint.reflect.ComponentMetadata component)
ComponentDefinitionRegistry
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.registerComponentDefinition
in interface ComponentDefinitionRegistry
component
- the component to be registeredpublic void removeComponentDefinition(String name)
ComponentDefinitionRegistry
removeComponentDefinition
in interface ComponentDefinitionRegistry
name
- the id of the component definition to be removedpublic void registerTypeConverter(org.osgi.service.blueprint.reflect.Target component)
registerTypeConverter
in interface ComponentDefinitionRegistry
public List<org.osgi.service.blueprint.reflect.Target> getTypeConverters()
getTypeConverters
in interface ComponentDefinitionRegistry
public void registerInterceptorWithComponent(org.osgi.service.blueprint.reflect.ComponentMetadata component, Interceptor interceptor)
ComponentDefinitionRegistry
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.registerInterceptorWithComponent
in interface ComponentDefinitionRegistry
component
- the component the interceptor is to be registered againstinterceptor
- the interceptor to be usedpublic List<Interceptor> getInterceptors(org.osgi.service.blueprint.reflect.ComponentMetadata component)
ComponentDefinitionRegistry
ComponentMetadata
instancegetInterceptors
in interface ComponentDefinitionRegistry
Copyright © 2016. All rights reserved.