Class TopicMapping
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 TopicMappings 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 aTopicMappingfor topics that will use raw types by default. -
Method Summary
Modifier and TypeMethodDescriptionObtain the xml element name of this mapping.Get the durableSubscriberGroupBuilders for thisTopicMapping.Obtains the name of the value class forNamedTopics using thisTopicMapping.voidsetSubscriberGroupBuilders(Collection<SubscriberGroupBuilder> colBuilders) Set the durableSubscriberGroupBuilders for thisTopicMapping.voidsetValueClassName(String sElementClassName) Sets the name of the value class forNamedTopics using thisTopicMapping.booleanDetermines if theTopicMappingis configured to use raw-types (ie: no type checking or constraints)voidvalidateScheme(Scheme scheme) Determine whether the specified schem is valid for this mapping type.Methods inherited from class com.tangosol.coherence.config.ResourceMapping
getEventInterceptorBuilders, getNamePattern, getNameUsing, getParameterResolver, getResourceRegistry, getSchemeName, getSubMappings, getValue, getValue, getWildcardMatch, isForName, isInternal, setEventInterceptorBuilders, setInternal, setParameterResolver, usesWildcard
-
Constructor Details
-
TopicMapping
public TopicMapping(String sTopicNamePattern, String sCachingSchemeName, Class<? extends TopicScheme> clsScheme) Construct aTopicMappingfor 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 thisTopicMappingwill be associated
-
-
Method Details
-
getConfigElementName
Description copied from class:ResourceMappingObtain the xml element name of this mapping.- Specified by:
getConfigElementNamein classResourceMapping- Returns:
- the xml element name of this mapping
-
validateScheme
Description copied from class:ResourceMappingDetermine whether the specified schem is valid for this mapping type.- Specified by:
validateSchemein classResourceMapping- Parameters:
scheme- the scheme to validate
-
getValueClassName
Obtains the name of the value class forNamedTopics using thisTopicMapping.- Returns:
- the name of the value class or
nullif rawtypes are being used
-
setValueClassName
Sets the name of the value class forNamedTopics using thisTopicMapping.- Parameters:
sElementClassName- the name of the value class ornullif rawtypes are being used
-
usesRawTypes
public boolean usesRawTypes()Determines if theTopicMappingis configured to use raw-types (ie: no type checking or constraints)- Returns:
trueif using raw types,falseotherwise
-
setSubscriberGroupBuilders
@Injectable("subscriber-groups") public void setSubscriberGroupBuilders(Collection<SubscriberGroupBuilder> colBuilders) Set the durableSubscriberGroupBuilders for thisTopicMapping.- Parameters:
colBuilders- collection of SubscriberGroupBuilders.
-
getSubscriberGroupBuilders
Get the durableSubscriberGroupBuilders for thisTopicMapping.- Returns:
- collection of SubscriberGroupBuilder(s).
-