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% caseConstructor 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.
|
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
public 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 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 © 2015 Oracle Corporation. All rights reserved.