Class TopicMapping
- java.lang.Object
-
- com.tangosol.coherence.config.ResourceMapping
-
- com.tangosol.coherence.config.TopicMapping
-
public class TopicMapping extends ResourceMapping
ATopicMappingcaptures configuration information for a pattern-match-based mapping from a proposedNamedTopicname to a topic scheme.In addition to the mapping between a topic name and a topic scheme, each
TopicMappingretains aParameterResolver(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:
"*"andsomething-*, but*-somethingis invalid.- Since:
- Coherence 14.1.1
- Author:
- jk 2015.05.28
-
-
Constructor Summary
Constructors Constructor Description TopicMapping(String sTopicNamePattern, String sCachingSchemeName, Class<? extends TopicScheme> clsScheme)Construct aTopicMappingfor topics that will use raw types by default.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetConfigElementName()Obtain the xml element name of this mapping.Collection<SubscriberGroupBuilder>getSubscriberGroupBuilders()Get the durableSubscriberGroupBuilders for thisTopicMapping.StringgetValueClassName()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.booleanusesRawTypes()Determines 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 Detail
-
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 Detail
-
getConfigElementName
public String 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
public void validateScheme(Scheme scheme)
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
public String 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
@Injectable("value-type") public void setValueClassName(String sElementClassName)
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
public Collection<SubscriberGroupBuilder> getSubscriberGroupBuilders()
Get the durableSubscriberGroupBuilders for thisTopicMapping.- Returns:
- collection of SubscriberGroupBuilder(s).
-
-