public abstract class AbstractServiceScheme<D extends ServiceDependencies> extends AbstractScheme implements ServiceBuilder, ServiceScheme
AbstractServiceScheme provides functionality common to all
schemes that use services. Some properties, such as listeners, are optional
and may not apply to every scheme.| Modifier and Type | Field and Description |
|---|---|
protected D |
m_serviceDependencies
The
ServiceDependencies to be used to configure the services
produced by this scheme. |
DELIM_APPLICATION_SCOPE, DELIM_DOMAIN_PARTITION| Constructor and Description |
|---|
AbstractServiceScheme() |
| Modifier and Type | Method and Description |
|---|---|
protected String |
getDefaultServiceName()
DefaultServiceName to use if none configured.
|
List<NamedEventInterceptorBuilder> |
getEventInterceptorBuilders()
|
String |
getScopedServiceName()
Return the service name with any scoping applied.
|
String |
getScopeName()
Return the scope name.
|
ServiceBuilder |
getServiceBuilder()
Return the
ServiceBuilder that is needed to build a service. |
D |
getServiceDependencies()
Obtains the
ServiceDependencies that will be used to configure
Service produced by this scheme. |
String |
getServiceName()
Return the service name.
|
XmlElement |
getXml()
Deprecated.
|
protected void |
injectScopeNameIntoService(Service service)
|
boolean |
isAutoStart()
Return true if the service has auto-start enabled.
|
abstract boolean |
isRunningClusterNeeded()
Return true if a running cluster is needed before using a service.
|
Service |
realizeService(com.tangosol.config.expression.ParameterResolver resolver,
ClassLoader loader,
Cluster cluster)
Realize (ensure) a Service.
|
void |
setAutoStart(boolean fEnabled)
Set the auto-start enabled flag.
|
void |
setScopeName(String sName)
Set the scope name.
|
void |
setServiceDependencies(D dependencies)
Set the
ServiceDependencies to be used by this scheme
when configuring a newly realized Service. |
void |
setServiceName(String sName)
Set the service name.
|
void |
setXml(XmlElement element)
Deprecated.
|
getSchemeName, isAnonymous, setSchemeName, validateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetServiceTypegetSchemeName, isAnonymousprotected D extends ServiceDependencies m_serviceDependencies
ServiceDependencies to be used to configure the services
produced by this scheme.public Service realizeService(com.tangosol.config.expression.ParameterResolver resolver, ClassLoader loader, Cluster cluster)
realizeService in interface ServiceBuilderresolver - the ParameterResolverloader - the ClassLoadercluster - the Cluster which will already be running if necessarypublic abstract boolean isRunningClusterNeeded()
isRunningClusterNeeded in interface ServiceBuildertrue if a running cluster is needed before using a servicepublic String getScopeName()
getScopeName in interface ServiceBuilder@Injectable public void setScopeName(String sName)
sName - the scope name@Deprecated public void setXml(XmlElement element)
setXml in interface ServiceBuilderelement - the distributed-scheme XML@Deprecated public XmlElement getXml()
getXml in interface ServiceBuilderpublic boolean isAutoStart()
isAutoStart in interface ServiceScheme@Injectable(value="autostart") public void setAutoStart(boolean fEnabled)
fEnabled - the auto-start enabled flagpublic ServiceBuilder getServiceBuilder()
ServiceBuilder that is needed to build a service.getServiceBuilder in interface ServiceSchemeServiceBuilder or null if the scheme does not support
services.@Injectable public void setServiceName(String sName)
sName - the service name.public String getServiceName()
getServiceName in interface ServiceSchemepublic String getScopedServiceName()
[<domain-partition-name>'/'] [<application-scope>':'] <service-name>
getScopedServiceName in interface ServiceSchemepublic List<NamedEventInterceptorBuilder> getEventInterceptorBuilders()
List of NamedEventInterceptorBuilders that have been
defined for the ServiceScheme.
Note: For those ServiceSchemes don't support event interceptors,
the returned value must be an empty list.
getEventInterceptorBuilders in interface ServiceSchemeList over NamedEventInterceptorBuildersprotected void injectScopeNameIntoService(Service service)
service - The safe service@Injectable(value=".") public D getServiceDependencies()
ServiceDependencies that will be used to configure
Service produced by this scheme.ServiceDependenciespublic void setServiceDependencies(D dependencies)
ServiceDependencies to be used by this scheme
when configuring a newly realized Service.dependencies - the ServiceDependencies objectprotected String getDefaultServiceName()