Class TopicMapping

java.lang.Object
com.tangosol.coherence.config.ResourceMapping
com.tangosol.coherence.config.TopicMapping

public class TopicMapping extends ResourceMapping
A 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 Details

    • TopicMapping

      public TopicMapping(String sTopicNamePattern, String sCachingSchemeName, Class<? extends TopicScheme> clsScheme)
      Construct a TopicMapping for topics that will use raw types by default.
      Parameters:
      sTopicNamePattern - the pattern that maps topic names to caching schemes
      sCachingSchemeName - the name of the caching scheme to which topics matching this TopicMapping will be associated
  • Method Details

    • getConfigElementName

      public String getConfigElementName()
      Description copied from class: ResourceMapping
      Obtain the xml element name of this mapping.
      Specified by:
      getConfigElementName in class ResourceMapping
      Returns:
      the xml element name of this mapping
    • validateScheme

      public void validateScheme(Scheme scheme)
      Description copied from class: ResourceMapping
      Determine whether the specified schem is valid for this mapping type.
      Specified by:
      validateScheme in class ResourceMapping
      Parameters:
      scheme - the scheme to validate
    • getValueClassName

      public String getValueClassName()
      Obtains the name of the value class for NamedTopics using this TopicMapping.
      Returns:
      the name of the value class or null if rawtypes are being used
    • setValueClassName

      @Injectable("value-type") public void setValueClassName(String sElementClassName)
      Sets the name of the value class for NamedTopics using this TopicMapping.
      Parameters:
      sElementClassName - the name of the value class or null if rawtypes are being used
    • usesRawTypes

      public boolean usesRawTypes()
      Determines if the TopicMapping is configured to use raw-types (ie: no type checking or constraints)
      Returns:
      true if using raw types, false otherwise
    • setSubscriberGroupBuilders

      @Injectable("subscriber-groups") public void setSubscriberGroupBuilders(Collection<SubscriberGroupBuilder> colBuilders)
      Set the durable SubscriberGroupBuilders for this TopicMapping.
      Parameters:
      colBuilders - collection of SubscriberGroupBuilders.
    • getSubscriberGroupBuilders

      public Collection<SubscriberGroupBuilder> getSubscriberGroupBuilders()
      Get the durable SubscriberGroupBuilders for this TopicMapping.
      Returns:
      collection of SubscriberGroupBuilder(s).