public class ServiceLocatorFactoryImpl extends ServiceLocatorFactory
ServiceLocatorFactory
that looks
in the OSGi service registry or the META-INF/services for the implementation
to use. Failing those things, it uses the standard default locator
generator, which is found in auto-depends, which is the 99.9% caseServiceLocatorFactory.CreatePolicy
Constructor and Description |
---|
ServiceLocatorFactoryImpl()
This will create a new set of name to locator mappings
|
Modifier and Type | Method and Description |
---|---|
void |
addListener(ServiceLocatorListener listener)
Adds a service listener to the unordered set of listeners that
will be notified when named listeners are added or removed
from the system.
|
ServiceLocator |
create(String name)
Creates (or finds) a ServiceLocator.
|
ServiceLocator |
create(String name,
ServiceLocator parent)
Creates or finds a ServiceLocator.
|
ServiceLocator |
create(String name,
ServiceLocator parent,
ServiceLocatorGenerator generator)
Creates or finds a ServiceLocator.
|
ServiceLocator |
create(String name,
ServiceLocator parent,
ServiceLocatorGenerator generator,
ServiceLocatorFactory.CreatePolicy policy)
Creates a ServiceLocator.
|
void |
destroy(ServiceLocator locator)
Removes the given ServiceLocator
|
void |
destroy(String name)
Removes the ServiceLocator with this name
|
ServiceLocator |
find(String name)
Finds the ServiceLocator with this name
|
void |
removeListener(ServiceLocatorListener listener)
Removes a service listener from the set of listeners that
are notified when named listeners are added or removed
from the system
|
getInstance
public ServiceLocatorFactoryImpl()
public ServiceLocator create(String name)
ServiceLocatorFactory
If there is already a ServiceLocator with the given name then this method will return that locator.
create
in class ServiceLocatorFactory
name
- The name of this service locator. Passing a null
name will result in a newly created service locator with a
generated name and that will not be tracked by the systempublic ServiceLocator find(String name)
ServiceLocatorFactory
find
in class ServiceLocatorFactory
name
- May not be null, is the name of the ServiceLocator to findpublic void destroy(String name)
ServiceLocatorFactory
All services associated with this ServiceLocator will be shutdown
destroy
in class ServiceLocatorFactory
name
- The name of the ServiceLocator to destroypublic void destroy(ServiceLocator locator)
ServiceLocatorFactory
All services associated with this ServiceLocator will be shutdown
destroy
in class ServiceLocatorFactory
locator
- The ServiceLocator to destroy. If null this will do nothing.
If the ServiceLocator given was already destroyed this will do nothingpublic ServiceLocator create(String name, ServiceLocator parent)
ServiceLocatorFactory
If there is already a ServiceLocator with the given name then this method will return that ServiceLocator. The parent argument will be ignored in that case
create
in class ServiceLocatorFactory
name
- The name of this service locator. Passing a null
name will result in a newly created service locator with a
generated name and that will not be tracked by the systemparent
- The parent of this ServiceLocator. Services can
be found in the parent (and all grand-parents). May be null
if the returned ServiceLocator should not be parentedpublic ServiceLocator create(String name, ServiceLocator parent, ServiceLocatorGenerator generator)
ServiceLocatorFactory
If there is already a ServiceLocator with the given name then this method will return that ServiceLocator. The parent argument will be ignored in that case. If a null name is given then a new ServiceLocator with a generated name will be returned.
create
in class ServiceLocatorFactory
name
- The name of this service locator. Passing a null
name will result in a newly created service locator with a
generated name and that will not be tracked by the systemparent
- The parent of this ServiceLocator. Services can
be found in the parent (and all grand-parents). May be null
if the returned ServiceLocator should not be parentedgenerator
- An implementation of the generator interface that
can be used to provide an implementation of ServiceLocator. If
null then the generator used will be discovered from the OSGi
service registry or from META-INF/servicespublic ServiceLocator create(String name, ServiceLocator parent, ServiceLocatorGenerator generator, ServiceLocatorFactory.CreatePolicy policy)
ServiceLocatorFactory
If there is already a ServiceLocator with the given name then this method will honor the given CreatePolicy. return that ServiceLocator. The policies are
create
in class ServiceLocatorFactory
name
- The name of this service locator. Passing a null
name will result in a newly created service locator with a
generated name and that will not be tracked by the systemparent
- The parent of this ServiceLocator. Services can
be found in the parent (and all grand-parents). May be null
if the returned ServiceLocator should not be parentedgenerator
- An implementation of the generator interface that
can be used to provide an implementation of ServiceLocator. If
null then the generator used will be discovered from the OSGi
service registry or from META-INF/servicespolicy
- The policy that should be used if there is an
existing locator with the non-null name. If null the policy
of RETURN will be usedpublic void addListener(ServiceLocatorListener listener)
ServiceLocatorFactory
addListener
in class ServiceLocatorFactory
listener
- The non-null listener to add to the systempublic void removeListener(ServiceLocatorListener listener)
ServiceLocatorFactory
removeListener
in class ServiceLocatorFactory
listener
- The non-null listener to remove from the systemCopyright © 2009-2017, Oracle and/or its affiliates. All Rights Reserved.