|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.felix.scr.impl.ServiceFactoryComponentManager
public class ServiceFactoryComponentManager
The ServiceFactoryComponentManager
TODO
Field Summary |
---|
Fields inherited from interface org.apache.felix.scr.Component |
---|
STATE_ACTIVATING, STATE_ACTIVE, STATE_DEACTIVATING, STATE_DESTROYED, STATE_DISABLED, STATE_ENABLED, STATE_FACTORY, STATE_REGISTERED, STATE_UNSATISFIED |
Constructor Summary | |
---|---|
ServiceFactoryComponentManager(org.apache.felix.scr.impl.BundleComponentActivator activator,
ComponentMetadata metadata,
long componentId)
|
Method Summary | |
---|---|
void |
activate()
Activates this component if satisfied. |
protected java.util.Dictionary |
copyTo(java.util.Dictionary target,
java.util.Dictionary source)
Copies the properties from the source Dictionary
into the target Dictionary . |
protected boolean |
createComponent()
Method is called by activate() in STATE_ACTIVATING or by
DelayedComponentManager.getService(Bundle, ServiceRegistration)
in STATE_REGISTERED. |
protected java.lang.Object |
createImplementationObject(org.osgi.service.component.ComponentContext componentContext)
|
void |
deactivate()
Deactivates the component. |
protected void |
deleteComponent()
Method is called by deactivate() in STATE_DEACTIVATING |
void |
disable()
Disables this component and - if active - first deactivates it. |
void |
dispose()
Before doing real disposal, we also have to unregister the managed service which was registered when the instance was created. |
protected void |
disposeImplementationObject(java.lang.Object implementationObject,
org.osgi.service.component.ComponentContext componentContext)
|
void |
enable()
Enables this component and - if satisfied - also activates it. |
org.osgi.framework.Bundle |
getBundle()
Returns the Bundle declaring this component. |
java.lang.String |
getClassName()
Returns the class name of the Component implementation. |
ComponentMetadata |
getComponentMetadata()
Get the component information |
java.lang.String |
getFactory()
Returns the component factory name or null if this component
is not defined as a component factory. |
long |
getId()
Returns the component ID of this component. |
java.lang.Object |
getInstance()
Get the object that is implementing this descriptor |
java.lang.String |
getName()
Returns the name of the component, which is also used as the service PID. |
java.util.Dictionary |
getProperties()
Returns the (private copy) of the Component properties to be used for the ComponentContext as well as eventual service registration. |
Reference[] |
getReferences()
Returns an array of Reference instances representing the service
references (or dependencies) of this Component. |
protected java.lang.Object |
getService()
Returns the service object to be registered if the service element is specified. |
java.lang.Object |
getService(org.osgi.framework.Bundle bundle,
org.osgi.framework.ServiceRegistration registration)
|
java.lang.String[] |
getServices()
Returns an array of service names provided by this Component or null if the Component is not registered as a service. |
int |
getState()
Returns the current state of the Component, which is one of the STATE_* constants defined in this interface. |
boolean |
isDefaultEnabled()
Returns whether the Component is declared to be enabled initially. |
boolean |
isImmediate()
Returns whether the Component is an Immediate or a Delayed Component. |
boolean |
isServiceFactory()
Returns true if this component is a service factory. |
void |
reactivate()
Cycles this component by deactivating it and - if still satisfied - activating it again. |
void |
reconfigure()
Reconfigures this component by deactivating and activating it. |
void |
reconfigure(java.util.Dictionary configuration)
Called by the Configuration Admin Service to update the component with Configuration properties. |
protected org.osgi.framework.ServiceRegistration |
registerComponentService()
|
protected void |
setFactoryProperties(java.util.Dictionary dictionary)
|
protected void |
setState(int newState)
sets the state of the manager |
protected boolean |
setStateConditional(int requiredStates,
int newState)
If the state is currently one of the requiredStates , the
state is set to newState and true is returned. |
java.lang.String |
stateToString(int state)
|
void |
ungetService(org.osgi.framework.Bundle bundle,
org.osgi.framework.ServiceRegistration registration,
java.lang.Object service)
|
protected void |
unregisterComponentService()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ServiceFactoryComponentManager(org.apache.felix.scr.impl.BundleComponentActivator activator, ComponentMetadata metadata, long componentId)
activator
- metadata
- Method Detail |
---|
protected boolean createComponent()
activate()
in STATE_ACTIVATING or by
DelayedComponentManager.getService(Bundle, ServiceRegistration)
in STATE_REGISTERED.
true
if creation of the component succeeded. If
false
is returned, the cause should have been logged.protected void deleteComponent()
deactivate()
in STATE_DEACTIVATING
protected java.lang.Object getService()
Extensions of this class may overwrite this method to return a ServiceFactory to register in the case of a delayed or a service factory component.
public java.lang.Object getInstance()
getInstance
in interface org.osgi.service.component.ComponentInstance
public java.lang.Object getService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration registration)
getService
in interface org.osgi.framework.ServiceFactory
public void ungetService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration registration, java.lang.Object service)
ungetService
in interface org.osgi.framework.ServiceFactory
public void dispose()
dispose
in interface ComponentManager
dispose
in interface org.osgi.service.component.ComponentInstance
protected java.lang.Object createImplementationObject(org.osgi.service.component.ComponentContext componentContext)
protected void disposeImplementationObject(java.lang.Object implementationObject, org.osgi.service.component.ComponentContext componentContext)
protected void setFactoryProperties(java.util.Dictionary dictionary)
public java.util.Dictionary getProperties()
Method implements the Component Properties provisioning as described in 112.6, Component Properties.
getProperties
in interface Component
public void reconfigure(java.util.Dictionary configuration)
configuration
- The configuration properties for the component from
the Configuration Admin Service or null
if there is
no configuration or if the configuration has just been deleted.public final void enable()
This method ignores the enabled flag of the component metadata and just enables as requested.
This method schedules the enablement for asynchronous execution.
enable
in interface Component
enable
in interface ComponentManager
public final void activate()
This method schedules the activation for asynchronous execution.
public final void reconfigure()
reconfigure
in interface ComponentManager
public final void reactivate()
This method immediately deactivates the component to prevent action with old configuration/references and schedules the reactivation for asynchronous execution.
public final void deactivate()
This method unlike other state change methods immediately takes action and deactivates the component. The reason for this is, that this method is called when a required service is not available any more and hence the component cannot work.
public final void disable()
enable()
method.
This method schedules the disablement for asynchronous execution.
disable
in interface Component
disable
in interface ComponentManager
public long getId()
Component
getId
in interface Component
public java.lang.String getName()
Component
name
attribute of the
component
element.
getName
in interface Component
public org.osgi.framework.Bundle getBundle()
Component
Bundle
declaring this component.
getBundle
in interface Component
public java.lang.String getClassName()
Component
class
attribute of the
implementation
element.
getClassName
in interface Component
public java.lang.String getFactory()
Component
null
if this component
is not defined as a component factory. This method provides access to
the factory
attribute of the component
element.
getFactory
in interface Component
public Reference[] getReferences()
Component
Reference
instances representing the service
references (or dependencies) of this Component. If the Component has no
references, null
is returned.
getReferences
in interface Component
public boolean isImmediate()
Component
immediate
attribute of
the component
element.
isImmediate
in interface Component
public boolean isDefaultEnabled()
Component
enabled
attribute of the
component
element.
isDefaultEnabled
in interface Component
public boolean isServiceFactory()
Component
true
if this component is a service factory. This
method returns the value of the serviceFactory
attribute of
the service
element. If the component has no service
element, this method returns false
.
isServiceFactory
in interface Component
public java.lang.String[] getServices()
Component
null
if the Component is not registered as a service. This
method provides access to the interface
attributes of the
provide
elements.
getServices
in interface Component
protected org.osgi.framework.ServiceRegistration registerComponentService()
protected void unregisterComponentService()
protected java.util.Dictionary copyTo(java.util.Dictionary target, java.util.Dictionary source)
source
Dictionary
into the target
Dictionary
.
target
- The Dictionary
into which to copy the
properties. If null
a new Hashtable
is
created.source
- The Dictionary
providing the properties to
copy. If null
or empty, nothing is copied.
target
is returned, which may be empty if
source
is null
or empty and
target
was null
.public ComponentMetadata getComponentMetadata()
ComponentManager
getComponentMetadata
in interface ComponentManager
public int getState()
Component
STATE_*
constants defined in this interface.
getState
in interface Component
protected void setState(int newState)
protected boolean setStateConditional(int requiredStates, int newState)
requiredStates
, the
state is set to newState
and true
is returned.
Otherwise the state is not changed and false
is returned.
This method atomically checks the current state and sets the new state.
requiredStates
- The set of states required for the state change to
happen.newState
- The new state to go into.
true
if the state was one of the required states and
the new state has now been entered.public java.lang.String stateToString(int state)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |