Class ServiceClientFactoryImpl
- java.lang.Object
-
- com.devonfw.module.service.common.impl.ServiceClientFactoryImpl
-
- All Implemented Interfaces:
ServiceClientFactory
public class ServiceClientFactoryImpl extends Object implements ServiceClientFactory
This is the implementation ofServiceClientFactory.- Since:
- 3.0.0
-
-
Field Summary
Fields Modifier and Type Field Description private Collection<ServiceDiscoverer>serviceDiscoverersprivate Collection<ServiceHeaderCustomizer>serviceHeaderCustomizersprivate Collection<SyncServiceClientFactory>syncServiceClientFactories
-
Constructor Summary
Constructors Constructor Description ServiceClientFactoryImpl()The constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <S> Screate(Class<S> serviceInterface)<S> Screate(Class<S> serviceInterface, Map<String,String> properties)private <S> ScreateClient(Class<S> serviceInterface, ServiceContextImpl<S> context)private <S> voidcustomizeHeaders(ServiceContextImpl<S> context)private <S> voiddiscovery(ServiceContextImpl<S> context)voidsetServiceDiscoverers(Collection<ServiceDiscoverer> serviceDiscoverers)voidsetServiceHeaderCustomizers(Collection<ServiceHeaderCustomizer> serviceHeaderCustomizers)voidsetSyncServiceClientFactories(Collection<SyncServiceClientFactory> syncServiceClientFactories)
-
-
-
Field Detail
-
syncServiceClientFactories
private Collection<SyncServiceClientFactory> syncServiceClientFactories
-
serviceDiscoverers
private Collection<ServiceDiscoverer> serviceDiscoverers
-
serviceHeaderCustomizers
private Collection<ServiceHeaderCustomizer> serviceHeaderCustomizers
-
-
Method Detail
-
setSyncServiceClientFactories
@Inject public void setSyncServiceClientFactories(Collection<SyncServiceClientFactory> syncServiceClientFactories)
- Parameters:
syncServiceClientFactories- theCollectionoffactoriestoInject.
-
setServiceDiscoverers
@Inject public void setServiceDiscoverers(Collection<ServiceDiscoverer> serviceDiscoverers)
- Parameters:
serviceDiscoverers- theCollectionofServiceDiscoverers toInject.
-
setServiceHeaderCustomizers
@Inject public void setServiceHeaderCustomizers(Collection<ServiceHeaderCustomizer> serviceHeaderCustomizers)
- Parameters:
serviceHeaderCustomizers- theCollectionofServiceHeaderCustomizers toInject.
-
create
public <S> S create(Class<S> serviceInterface)
- Specified by:
createin interfaceServiceClientFactory- Type Parameters:
S- the generic type of theserviceInterface. For flexibility and being not invasive this generic is not bound toService(S extends Service).- Parameters:
serviceInterface- theClassreflecting the interface that defines the API of yourService.- Returns:
- a new instance of the given
serviceInterfacethat is a client stub. Invocations to any of the service methods will trigger a remote call and synchronously return the result.
-
create
public <S> S create(Class<S> serviceInterface, Map<String,String> properties)
- Specified by:
createin interfaceServiceClientFactory- Type Parameters:
S- the generic type of theserviceInterface. For flexibility and being not invasive this generic is not bound toService(S extends Service).- Parameters:
serviceInterface- theClassreflecting the interface that defines the API of yourService.properties- theMapwith explicit configuration properties. SeeServiceConfigPropertiesfor further details.- Returns:
- a new instance of the given
serviceInterfacethat is a client stub. Invocations to any of the service methods will trigger a remote call and synchronously return the result.
-
createClient
private <S> S createClient(Class<S> serviceInterface, ServiceContextImpl<S> context)
-
customizeHeaders
private <S> void customizeHeaders(ServiceContextImpl<S> context)
-
discovery
private <S> void discovery(ServiceContextImpl<S> context)
-
-