public class RequiredServicesComponentFeature extends AbstractComponentFeature implements IRequiredServicesFeature
| Modifier and Type | Field and Description | 
|---|---|
| protected java.util.Map<java.lang.String,IRequiredServiceFetcher> | reqservicefetchersThe service fetch method table (name -> fetcher). | 
| protected java.util.Map<java.lang.String,RequiredServiceInfo> | requiredserviceinfosThe required service infos. | 
| Constructor and Description | 
|---|
| RequiredServicesComponentFeature(IInternalAccess component,
                                ComponentCreationInfo cinfo)Factory method constructor for instance level. | 
| Modifier and Type | Method and Description | 
|---|---|
| <T> ISubscriptionIntermediateFuture<T> | addQuery(java.lang.Class<T> type,
        java.lang.String scope,
        IAsyncFilter<T> filter)Add a service query to the registry. | 
| protected void | addRequiredServiceInfos(RequiredServiceInfo[] requiredservices)Add required services for a given prefix. | 
| IRequiredServiceFetcher | createServiceFetcher(java.lang.String name)Create a service fetcher. | 
| IComponentIdentifier | getId()Get the globally unique id of the provider. | 
| <T> T | getLastRequiredService(java.lang.String name)Get the result of the last search. | 
| <T> java.util.Collection<T> | getLastRequiredServices(java.lang.String name)Get the result of the last search. | 
| <T> T | getMultiService(java.lang.String reqname,
               java.lang.Class<T> multitype)Get a multi service. | 
| protected <T> IFuture<T> | getRequiredService(RequiredServiceInfo info,
                  RequiredServiceBinding binding,
                  boolean rebind,
                  IAsyncFilter<T> filter)Get a required service. | 
| <T> IFuture<T> | getRequiredService(java.lang.String name)Get a required service of a given name. | 
| <T> IFuture<T> | getRequiredService(java.lang.String name,
                  boolean rebind)Get a required service. | 
| <T> IFuture<T> | getRequiredService(java.lang.String name,
                  boolean rebind,
                  IAsyncFilter<T> filter)Get a required service. | 
| <T> IFuture<T> | getRequiredService(java.lang.String name,
                  boolean rebind,
                  java.lang.String... tags)Get a required service using tags. | 
| protected IRequiredServiceFetcher | getRequiredServiceFetcher(java.lang.String name)Get a required service fetcher. | 
| RequiredServiceInfo | getRequiredServiceInfo(java.lang.String name)Get a required service info. | 
| RequiredServiceInfo[] | getRequiredServiceInfos()Get the required services. | 
| protected <T> ITerminableIntermediateFuture<T> | getRequiredServices(RequiredServiceInfo info,
                   RequiredServiceBinding binding,
                   boolean rebind,
                   IAsyncFilter<T> filter)Get required services. | 
| <T> ITerminableIntermediateFuture<T> | getRequiredServices(java.lang.String name)Get a required services of a given name. | 
| <T> ITerminableIntermediateFuture<T> | getRequiredServices(java.lang.String name,
                   boolean rebind)Get a required services. | 
| <T> ITerminableIntermediateFuture<T> | getRequiredServices(java.lang.String name,
                   boolean rebind,
                   IAsyncFilter<T> filter)Get a required services. | 
| <T> ITerminableIntermediateFuture<T> | getRequiredServices(java.lang.String name,
                   boolean rebind,
                   java.lang.String... tags)Get a required services using tags. | 
| boolean | hasUserBody()Check if the feature potentially executed user code in body. | 
| IFuture<java.lang.Void> | init()Init the required services | 
| <T> IFuture<T> | searchService(java.lang.Class<T> type)Get one service of a type. | 
| <T> IFuture<T> | searchService(java.lang.Class<T> type,
             IComponentIdentifier cid)Get one service of a type from a specific component. | 
| <T> IFuture<T> | searchService(java.lang.Class<T> type,
             java.lang.String scope)Get one service of a type. | 
| <T> ITerminableIntermediateFuture<T> | searchServices(java.lang.Class<T> type)Get all services of a type. | 
| <T> ITerminableIntermediateFuture<T> | searchServices(java.lang.Class<T> type,
              java.lang.String scope)Get all services of a type. | 
| void | setRequiredServiceInfos(RequiredServiceInfo[] requiredservices)Set the required services. | 
| IFuture<java.lang.Void> | shutdown()Called when the feature is shutdowned. | 
protected java.util.Map<java.lang.String,IRequiredServiceFetcher> reqservicefetchers
protected java.util.Map<java.lang.String,RequiredServiceInfo> requiredserviceinfos
public RequiredServicesComponentFeature(IInternalAccess component, ComponentCreationInfo cinfo)
public IFuture<java.lang.Void> init()
public boolean hasUserBody()
public IFuture<java.lang.Void> shutdown()
protected void addRequiredServiceInfos(RequiredServiceInfo[] requiredservices)
prefix - The name prefix to use.required - services The required services to set.public RequiredServiceInfo getRequiredServiceInfo(java.lang.String name)
getRequiredServiceInfo in interface IRequiredServicesFeaturename - The name.public RequiredServiceInfo[] getRequiredServiceInfos()
getRequiredServiceInfos in interface IRequiredServicesFeaturepublic void setRequiredServiceInfos(RequiredServiceInfo[] requiredservices)
required - services The required services to set.public <T> IFuture<T> getRequiredService(java.lang.String name)
getRequiredService in interface IRequiredServicesFeaturename - The service name.public <T> ITerminableIntermediateFuture<T> getRequiredServices(java.lang.String name)
getRequiredServices in interface IRequiredServicesFeaturename - The services name.public <T> IFuture<T> getRequiredService(java.lang.String name, boolean rebind)
getRequiredService in interface IRequiredServicesFeaturename - The required service name.rebind - If false caches results.public <T> ITerminableIntermediateFuture<T> getRequiredServices(java.lang.String name, boolean rebind)
getRequiredServices in interface IRequiredServicesFeaturename - The required service name.rebind - If false caches results.public <T> ITerminableIntermediateFuture<T> getRequiredServices(java.lang.String name, boolean rebind, IAsyncFilter<T> filter)
getRequiredServices in interface IRequiredServicesFeaturename - The required service name.rebind - If false caches results.public <T> IFuture<T> getRequiredService(java.lang.String name, boolean rebind, java.lang.String... tags)
getRequiredService in interface IRequiredServicesFeaturename - The required service name.rebind - If false caches results.tags - The service tags.public <T> ITerminableIntermediateFuture<T> getRequiredServices(java.lang.String name, boolean rebind, java.lang.String... tags)
getRequiredServices in interface IRequiredServicesFeaturename - The required service name.rebind - If false caches results.tags - The service tags.public <T> T getMultiService(java.lang.String reqname,
                             java.lang.Class<T> multitype)
reqname - The required service name.multitype - The interface of the multi service.protected <T> IFuture<T> getRequiredService(RequiredServiceInfo info, RequiredServiceBinding binding, boolean rebind, IAsyncFilter<T> filter)
protected <T> ITerminableIntermediateFuture<T> getRequiredServices(RequiredServiceInfo info, RequiredServiceBinding binding, boolean rebind, IAsyncFilter<T> filter)
public <T> IFuture<T> getRequiredService(java.lang.String name, boolean rebind, IAsyncFilter<T> filter)
getRequiredService in interface IRequiredServicesFeaturename - The required service name.rebind - If false caches results.public <T> T getLastRequiredService(java.lang.String name)
getLastRequiredService in interface IRequiredServicesFeaturename - The required service name.public <T> java.util.Collection<T> getLastRequiredServices(java.lang.String name)
getLastRequiredServices in interface IRequiredServicesFeaturename - The required services name.public <T> IFuture<T> searchService(java.lang.Class<T> type)
searchService in interface IRequiredServicesFeaturetype - The class.public <T> IFuture<T> searchService(java.lang.Class<T> type, java.lang.String scope)
searchService in interface IRequiredServicesFeaturetype - The class.public <T> ITerminableIntermediateFuture<T> searchServices(java.lang.Class<T> type)
searchServices in interface IRequiredServicesFeaturetype - The class.public <T> ITerminableIntermediateFuture<T> searchServices(java.lang.Class<T> type, java.lang.String scope)
searchServices in interface IRequiredServicesFeaturetype - The class.public <T> IFuture<T> searchService(java.lang.Class<T> type, IComponentIdentifier cid)
searchService in interface IRequiredServicesFeaturetype - The class.cid - The component identifier of the target component.protected IRequiredServiceFetcher getRequiredServiceFetcher(java.lang.String name)
name - The required service name.public IRequiredServiceFetcher createServiceFetcher(java.lang.String name)
public IComponentIdentifier getId()
public <T> ISubscriptionIntermediateFuture<T> addQuery(java.lang.Class<T> type, java.lang.String scope, IAsyncFilter<T> filter)
addQuery in interface IRequiredServicesFeaturetype - The service type.scope - The scope.filter - The filter.