Class ServiceFactoryComponentManager<S>
- java.lang.Object
-
- org.apache.felix.scr.impl.manager.AbstractComponentManager<S>
-
- org.apache.felix.scr.impl.manager.SingleComponentManager<S>
-
- org.apache.felix.scr.impl.manager.ServiceFactoryComponentManager<S>
-
- All Implemented Interfaces:
ComponentManager<S>
,org.osgi.framework.ServiceFactory<S>
- Direct Known Subclasses:
PrototypeServiceFactoryComponentManager
public class ServiceFactoryComponentManager<S> extends SingleComponentManager<S>
TheServiceFactoryComponentManager
for components specified with <service serviceFactory='true'/> in the xml metadata. The component must be delayed, not immediate or factory.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.felix.scr.impl.manager.SingleComponentManager
SingleComponentManager.SetImplementationObject<S>
-
Nested classes/interfaces inherited from class org.apache.felix.scr.impl.manager.AbstractComponentManager
AbstractComponentManager.State
-
-
Field Summary
-
Fields inherited from class org.apache.felix.scr.impl.manager.AbstractComponentManager
m_activationLock, m_container, m_factoryInstance
-
Fields inherited from interface org.apache.felix.scr.impl.manager.ComponentManager
STATE_ACTIVE, STATE_DISPOSED, STATE_SATISFIED, STATE_UNSATISFIED_CONFIGURATION, STATE_UNSATISFIED_REFERENCE
-
-
Constructor Summary
Constructors Constructor Description ServiceFactoryComponentManager(ComponentContainer<S> container, ComponentMethods<S> componentMethods)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
deleteComponent(int reason)
org.osgi.service.component.ComponentInstance
getComponentInstance()
S
getService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration<S> serviceRegistration)
protected MethodResult
invokeModifiedMethod()
void
setServiceProperties(Dictionary<String,?> serviceProperties)
void
ungetService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration<S> registration, S service)
-
Methods inherited from class org.apache.felix.scr.impl.manager.SingleComponentManager
createImplementationObject, disposeImplementationObject, getComponentManagers, getProperties, getServiceProperties, getServiceRegistration, reconfigure, setFactoryProperties
-
Methods inherited from class org.apache.felix.scr.impl.manager.AbstractComponentManager
collectDependencies, copyTo, copyToDictionary, copyToMap, disable, dispose, enable, getActivator, getBundle, getComponentMetadata, getFailureReason, getId, getLogger, getProvidedServices, getReferenceManagers, getRegisteredServiceReference, getSpecState, isFactory, isImmediate, registerService, setFailureReason, setServiceProperties, toString, unregisterService, verifyDependencyManagers
-
-
-
-
Constructor Detail
-
ServiceFactoryComponentManager
public ServiceFactoryComponentManager(ComponentContainer<S> container, ComponentMethods<S> componentMethods)
- Parameters:
container
- ComponentHolder for configuration managementcomponentMethods
-
-
-
Method Detail
-
setServiceProperties
public void setServiceProperties(Dictionary<String,?> serviceProperties)
- Overrides:
setServiceProperties
in classSingleComponentManager<S>
-
deleteComponent
protected void deleteComponent(int reason)
- Overrides:
deleteComponent
in classSingleComponentManager<S>
-
getService
public S getService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration<S> serviceRegistration)
- Specified by:
getService
in interfaceorg.osgi.framework.ServiceFactory<S>
- Overrides:
getService
in classSingleComponentManager<S>
-
ungetService
public void ungetService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration<S> registration, S service)
- Specified by:
ungetService
in interfaceorg.osgi.framework.ServiceFactory<S>
- Overrides:
ungetService
in classSingleComponentManager<S>
-
invokeModifiedMethod
protected MethodResult invokeModifiedMethod()
- Overrides:
invokeModifiedMethod
in classSingleComponentManager<S>
-
getComponentInstance
public org.osgi.service.component.ComponentInstance getComponentInstance()
- Overrides:
getComponentInstance
in classSingleComponentManager<S>
-
-