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 IRequiredServicesFeature
delegate
The 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> T
getLocalService(java.lang.Class<T> type)
Resolve a required service of a given type.<T> T
getLocalService(java.lang.String name)
Resolve a declared required service of a given name.<T> T
getLocalService0(java.lang.Class<T> type)
Resolve a required service of a given type.<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.<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.String
rename(java.lang.String name)
Rename if necessary.<T> T
searchLocalService(ServiceQuery<T> query)
Search for matching services and provide first result.<T> java.util.Collection<T>
searchLocalServices(ServiceQuery<T> query)
Search for all matching services.<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:
getService
in 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:
getLocalService0
in 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:
getService
in 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:
getServices
in 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:
getServices
in 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:
getLocalService
in 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:
getLocalService
in 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:
getLocalServices
in 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:
getLocalServices
in 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:
searchService
in interfaceIExternalRequiredServicesFeature
- Parameters:
query
- The search query.- Returns:
- Future providing the corresponding service or ServiceNotFoundException when not found.
-
searchLocalService
public <T> T searchLocalService(ServiceQuery<T> query)
Search for matching services and provide first result. Synchronous method only for locally available services.- Specified by:
searchLocalService
in 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:
searchServices
in interfaceIExternalRequiredServicesFeature
- Parameters:
query
- The search query.- Returns:
- Future providing the corresponding services or ServiceNotFoundException when not found.
-
searchLocalServices
public <T> java.util.Collection<T> searchLocalServices(ServiceQuery<T> query)
Search for all matching services. Synchronous method only for locally available services.- Specified by:
searchLocalServices
in 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:
searchService
in 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:
addQuery
in 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:
addQuery
in 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:
addQuery
in 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:
addQuery
in interfaceIRequiredServicesFeature
- Parameters:
query
- The search query.- Returns:
- Future providing the corresponding service or ServiceNotFoundException when not found.
-
rename
public java.lang.String rename(java.lang.String name)
Rename if necessary.
-
-