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:
SimpleLogger,ComponentManager<S>,org.osgi.framework.ServiceFactory<S>
- Direct Known Subclasses:
PrototypeServiceFactoryComponentManager
public class ServiceFactoryComponentManager<S> extends SingleComponentManager<S>
TheServiceFactoryComponentManagerfor 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_DISABLED, STATE_DISPOSED, STATE_SATISFIED, STATE_UNSATISFIED_CONFIGURATION, STATE_UNSATISFIED_REFERENCE
-
-
Constructor Summary
Constructors Constructor Description ServiceFactoryComponentManager(ComponentContainer<S> container, ComponentMethods componentMethods)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddeleteComponent(int reason)org.osgi.service.component.ComponentInstancegetComponentInstance()SgetService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration<S> serviceRegistration)protected MethodResultinvokeModifiedMethod()voidsetServiceProperties(Dictionary<String,?> serviceProperties)voidungetService(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, reconfigure, setFactoryProperties
-
Methods inherited from class org.apache.felix.scr.impl.manager.AbstractComponentManager
collectDependencies, copyTo, copyToDictionary, copyToMap, disable, dispose, enable, getActivator, getBundle, getComponentMetadata, getId, getName, getProvidedServices, getReferenceManagers, getSpecState, isFactory, isImmediate, isLogEnabled, log, log, registerService, setServiceProperties, toString, unregisterService, verifyDependencyManagers
-
-
-
-
Constructor Detail
-
ServiceFactoryComponentManager
public ServiceFactoryComponentManager(ComponentContainer<S> container, ComponentMethods componentMethods)
- Parameters:
container- ComponentHolder for configuration managementcomponentMethods-
-
-
Method Detail
-
setServiceProperties
public void setServiceProperties(Dictionary<String,?> serviceProperties)
- Overrides:
setServicePropertiesin classSingleComponentManager<S>
-
deleteComponent
protected void deleteComponent(int reason)
- Overrides:
deleteComponentin classSingleComponentManager<S>
-
getService
public S getService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration<S> serviceRegistration)
- Specified by:
getServicein interfaceorg.osgi.framework.ServiceFactory<S>- Overrides:
getServicein classSingleComponentManager<S>
-
ungetService
public void ungetService(org.osgi.framework.Bundle bundle, org.osgi.framework.ServiceRegistration<S> registration, S service)- Specified by:
ungetServicein interfaceorg.osgi.framework.ServiceFactory<S>- Overrides:
ungetServicein classSingleComponentManager<S>
-
invokeModifiedMethod
protected MethodResult invokeModifiedMethod()
- Overrides:
invokeModifiedMethodin classSingleComponentManager<S>
-
getComponentInstance
public org.osgi.service.component.ComponentInstance getComponentInstance()
- Overrides:
getComponentInstancein classSingleComponentManager<S>
-
-