Package jadex.bridge.service.component
Class RequiredServicesFeatureAdapter
- java.lang.Object
-
- jadex.bridge.service.component.RequiredServicesFeatureAdapter
-
- All Implemented Interfaces:
IExternalComponentFeature,IExternalRequiredServicesFeature,IRequiredServicesFeature
public class RequiredServicesFeatureAdapter extends java.lang.Object implements IRequiredServicesFeature
Adapter for the required services feature.
-
-
Field Summary
Fields Modifier and Type Field Description protected IRequiredServicesFeaturedelegateThe delegate.
-
Constructor Summary
Constructors Constructor Description RequiredServicesFeatureAdapter(IRequiredServicesFeature delegate)Create a new adapter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> ISubscriptionIntermediateFuture<T>addQuery(ServiceQuery<T> query)Add a service query.<T> ISubscriptionIntermediateFuture<T>addQuery(ServiceQuery<T> query, long timeout)Add a service query.<T> ISubscriptionIntermediateFuture<T>addQuery(java.lang.Class<T> type)Add a query for a declared required service.<T> ISubscriptionIntermediateFuture<T>addQuery(java.lang.String name)Add a query for a declared required service.<T> TgetLocalService(ServiceQuery<T> query)Search for matching services and provide first result.<T> TgetLocalService(java.lang.Class<T> type)Resolve a required service of a given type.<T> TgetLocalService(java.lang.String name)Resolve a declared required service of a given name.<T> TgetLocalService0(java.lang.Class<T> type)Resolve a required service of a given type.<T> java.util.Collection<T>getLocalServices(ServiceQuery<T> query)Search for all matching services.<T> java.util.Collection<T>getLocalServices(java.lang.Class<T> type)Resolve a required services of a given type.<T> java.util.Collection<T>getLocalServices(java.lang.String name)Resolve a required services of a given name.<T> IFuture<T>getService(java.lang.Class<T> type)Resolve a required service of a given type.<T> IFuture<T>getService(java.lang.String name)Resolve a declared required service of a given name.IServicegetServiceProxy(IServiceIdentifier sid, RequiredServiceInfo info)Create the user-facing object from the received search or query result.ServiceQuery<?>getServiceQuery(java.lang.String name)Get a service query for a required service info (as defined in the agent under that name).<T> ITerminableIntermediateFuture<T>getServices(java.lang.Class<T> type)Resolve a required services of a given type.<T> ITerminableIntermediateFuture<T>getServices(java.lang.String name)Resolve a required services of a given name.java.lang.Stringrename(java.lang.String name)Rename if necessary.<T> IFuture<T>searchService(ServiceQuery<T> query)Search for matching services and provide first result.<T> IFuture<T>searchService(ServiceQuery<T> query, long timeout)Performs a sustained search for a service.<T> ITerminableIntermediateFuture<T>searchServices(ServiceQuery<T> query)Search for all matching services.
-
-
-
Field Detail
-
delegate
protected IRequiredServicesFeature delegate
The delegate.
-
-
Constructor Detail
-
RequiredServicesFeatureAdapter
public RequiredServicesFeatureAdapter(IRequiredServicesFeature delegate)
Create a new adapter.
-
-
Method Detail
-
getService
public <T> IFuture<T> getService(java.lang.String name)
Resolve a declared required service of a given name. Asynchronous method for locally as well as remotely available services.- Specified by:
getServicein interfaceIRequiredServicesFeature- Parameters:
name- The service name.- Returns:
- The service.
-
getLocalService0
public <T> T getLocalService0(java.lang.Class<T> type)
Resolve a required service of a given type. Synchronous method only for locally available services.- Specified by:
getLocalService0in interfaceIRequiredServicesFeature- Parameters:
type- The service type.- Returns:
- The service.
-
getService
public <T> IFuture<T> getService(java.lang.Class<T> type)
Resolve a required service of a given type. Asynchronous method for locally as well as remotely available services.- Specified by:
getServicein interfaceIRequiredServicesFeature- Parameters:
type- The service type.- Returns:
- The service.
-
getServices
public <T> ITerminableIntermediateFuture<T> getServices(java.lang.String name)
Resolve a required services of a given name. Asynchronous method for locally as well as remotely available services.- Specified by:
getServicesin interfaceIRequiredServicesFeature- Parameters:
name- The services name.- Returns:
- Each service as an intermediate result and a collection of services as final result.
-
getServices
public <T> ITerminableIntermediateFuture<T> getServices(java.lang.Class<T> type)
Resolve a required services of a given type. Asynchronous method for locally as well as remotely available services.- Specified by:
getServicesin interfaceIRequiredServicesFeature- Parameters:
type- The services type.- Returns:
- Each service as an intermediate result and a collection of services as final result.
-
getLocalService
public <T> T getLocalService(java.lang.String name)
Resolve a declared required service of a given name. Synchronous method only for locally available services.- Specified by:
getLocalServicein interfaceIRequiredServicesFeature- Parameters:
name- The service name.- Returns:
- The service.
-
getLocalService
public <T> T getLocalService(java.lang.Class<T> type)
Resolve a required service of a given type. Synchronous method only for locally available services.- Specified by:
getLocalServicein interfaceIRequiredServicesFeature- Parameters:
type- The service type.- Returns:
- The service.
-
getLocalServices
public <T> java.util.Collection<T> getLocalServices(java.lang.String name)
Resolve a required services of a given name. Synchronous method only for locally available services.- Specified by:
getLocalServicesin interfaceIRequiredServicesFeature- Parameters:
name- The services name.- Returns:
- Each service as an intermediate result and a collection of services as final result.
-
getLocalServices
public <T> java.util.Collection<T> getLocalServices(java.lang.Class<T> type)
Resolve a required services of a given type. Synchronous method only for locally available services.- Specified by:
getLocalServicesin interfaceIRequiredServicesFeature- Parameters:
type- The services type.- Returns:
- Each service as an intermediate result and a collection of services as final result.
-
searchService
public <T> IFuture<T> searchService(ServiceQuery<T> query)
Search for matching services and provide first result.- Specified by:
searchServicein interfaceIExternalRequiredServicesFeature- Parameters:
query- The search query.- Returns:
- Future providing the corresponding service or ServiceNotFoundException when not found.
-
getLocalService
public <T> T getLocalService(ServiceQuery<T> query)
Search for matching services and provide first result. Synchronous method only for locally available services.- Specified by:
getLocalServicein interfaceIRequiredServicesFeature- Parameters:
query- The search query.- Returns:
- Future providing the corresponding service or ServiceNotFoundException when not found.
-
searchServices
public <T> ITerminableIntermediateFuture<T> searchServices(ServiceQuery<T> query)
Search for all matching services.- Specified by:
searchServicesin interfaceIExternalRequiredServicesFeature- Parameters:
query- The search query.- Returns:
- Future providing the corresponding services or ServiceNotFoundException when not found.
-
getLocalServices
public <T> java.util.Collection<T> getLocalServices(ServiceQuery<T> query)
Search for all matching services. Synchronous method only for locally available services.- Specified by:
getLocalServicesin interfaceIRequiredServicesFeature- Parameters:
query- The search query.- Returns:
- Future providing the corresponding services or ServiceNotFoundException when not found.
-
searchService
public <T> IFuture<T> searchService(ServiceQuery<T> query, long timeout)
Performs a sustained search for a service. Attempts to find a service for a maximum duration until timeout occurs.- Specified by:
searchServicein interfaceIRequiredServicesFeature- Parameters:
query- The search query.timeout- Maximum time period to search.- Returns:
- Service matching the query, exception if service is not found.
-
addQuery
public <T> ISubscriptionIntermediateFuture<T> addQuery(java.lang.String name)
Add a query for a declared required service. Continuously searches for matching services.- Specified by:
addQueryin interfaceIRequiredServicesFeature- Parameters:
name- The name of the required service declaration.- Returns:
- Future providing the corresponding services as intermediate results.
-
addQuery
public <T> ISubscriptionIntermediateFuture<T> addQuery(java.lang.Class<T> type)
Add a query for a declared required service. Continuously searches for matching services.- Specified by:
addQueryin interfaceIRequiredServicesFeature- Parameters:
type- The type of the required service declaration.- Returns:
- Future providing the corresponding services as intermediate results.
-
addQuery
public <T> ISubscriptionIntermediateFuture<T> addQuery(ServiceQuery<T> query)
Add a service query. Continuously searches for matching services.- Specified by:
addQueryin interfaceIExternalRequiredServicesFeature- Parameters:
query- The search query.- Returns:
- Future providing the corresponding service or ServiceNotFoundException when not found.
-
addQuery
public <T> ISubscriptionIntermediateFuture<T> addQuery(ServiceQuery<T> query, long timeout)
Add a service query. Continuously searches for matching services.- Specified by:
addQueryin interfaceIRequiredServicesFeature- Parameters:
query- The search query.- Returns:
- Future providing the corresponding service or ServiceNotFoundException when not found.
-
getServiceProxy
public IService getServiceProxy(IServiceIdentifier sid, RequiredServiceInfo info)
Create the user-facing object from the received search or query result. Result may be service object, service identifier (local or remote), or event. User object is either event or service (with or without required proxy).- Specified by:
getServiceProxyin interfaceIRequiredServicesFeature
-
getServiceQuery
public ServiceQuery<?> getServiceQuery(java.lang.String name)
Get a service query for a required service info (as defined in the agent under that name).- Specified by:
getServiceQueryin interfaceIRequiredServicesFeature- Parameters:
name- The name.- Returns:
- The service query.
-
rename
public java.lang.String rename(java.lang.String name)
Rename if necessary.
-
-