Class TopicMapping<R extends NamedTopic>
TopicMapping
captures configuration information for a pattern-match-based mapping from a proposed
NamedTopic
name to a topic scheme.
In addition to the mapping between a topic name and a topic scheme, each TopicMapping
retains a
ParameterResolver
(representing user-provided parameters) to be used during the realization of the said
topic and scheme. (This allows individual mappings to be parameterized)
Lastly TopicMapping
s also provide a mechanism to associate specific strongly typed resources
with each mapping at runtime. This provides a flexible and dynamic mechanism to associate further configuration
information with topics.
Pattern Matching Semantics: The only wildcard permitted for pattern matching with topic names is the "*" and it may only be used at the end of a topic name.
For example, the following topic name patterns are valid:
"*"
and something-*
, but *-something
is invalid.
- Since:
- Coherence 14.1.1
- Author:
- jk 2015.05.28
-
Constructor Summary
ConstructorsConstructorDescriptionTopicMapping
(String sTopicNamePattern, String sCachingSchemeName, Class<? extends TopicScheme> clsScheme) Construct aTopicMapping
for topics that will use raw types by default. -
Method Summary
Modifier and TypeMethodDescriptionObtain the xml element name of this mapping.Get the durableSubscriberGroupBuilder
s for thisTopicMapping
.void
postConstruct
(com.tangosol.application.ContainerContext context, R topic, ParameterResolver resolver, MapBuilder.Dependencies dependencies) void
setSubscriberGroupBuilders
(Collection<SubscriberGroupBuilder> colBuilders) Set the durableSubscriberGroupBuilder
s for thisTopicMapping
.void
setValueClassName
(String sElementClassName) Sets the name of the value class for the resources using thisTypedResourceMapping
.void
validateScheme
(Scheme scheme) Determine whether the specified schem is valid for this mapping type.Methods inherited from class com.tangosol.coherence.config.TypedResourceMapping
getValueClassName, usesRawTypes
Methods inherited from class com.tangosol.coherence.config.ResourceMapping
getEventInterceptorBuilders, getNamePattern, getNameUsing, getParameterResolver, getResourceRegistry, getSchemeName, getSubMappings, getValue, getValue, getWildcardMatch, isForName, isInternal, preConstruct, setEventInterceptorBuilders, setInternal, setParameterResolver, usesWildcard
-
Constructor Details
-
TopicMapping
public TopicMapping(String sTopicNamePattern, String sCachingSchemeName, Class<? extends TopicScheme> clsScheme) Construct aTopicMapping
for topics that will use raw types by default.- Parameters:
sTopicNamePattern
- the pattern that maps topic names to caching schemessCachingSchemeName
- the name of the caching scheme to which topics matching thisTopicMapping
will be associated
-
-
Method Details
-
getConfigElementName
Description copied from class:ResourceMapping
Obtain the xml element name of this mapping.- Specified by:
getConfigElementName
in classResourceMapping<R extends NamedTopic>
- Returns:
- the xml element name of this mapping
-
validateScheme
Description copied from class:ResourceMapping
Determine whether the specified schem is valid for this mapping type.- Specified by:
validateScheme
in classResourceMapping<R extends NamedTopic>
- Parameters:
scheme
- the scheme to validate
-
setValueClassName
Description copied from class:TypedResourceMapping
Sets the name of the value class for the resources using thisTypedResourceMapping
.- Overrides:
setValueClassName
in classTypedResourceMapping<R extends NamedTopic>
- Parameters:
sElementClassName
- the name of the value class ornull
if raw types are being used
-
setSubscriberGroupBuilders
@Injectable("subscriber-groups") public void setSubscriberGroupBuilders(Collection<SubscriberGroupBuilder> colBuilders) Set the durableSubscriberGroupBuilder
s for thisTopicMapping
.- Parameters:
colBuilders
- collection of SubscriberGroupBuilders.
-
getSubscriberGroupBuilders
Get the durableSubscriberGroupBuilder
s for thisTopicMapping
.- Returns:
- collection of SubscriberGroupBuilder(s).
-
postConstruct
public void postConstruct(com.tangosol.application.ContainerContext context, R topic, ParameterResolver resolver, MapBuilder.Dependencies dependencies) - Overrides:
postConstruct
in classResourceMapping<R extends NamedTopic>
-