Class 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 Detail

      • 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 Detail

      • 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