Diffusion .NET Classic API - Core and Common  5.9.4
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events
PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorSinglePattern Class Reference

Selects nodes by a single regex pattern applied to the full hierarchic name. More...

Inheritance diagram for PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorSinglePattern:
PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector

Public Member Functions

 TopicSelectorSinglePattern (string specifier, bool allBelow, bool inclusive)
 Constructor. More...
 
override bool IsTopicNameSelector ()
 Is the selector a single topic name? More...
 
override bool Matches (string topicName)
 This does a match to check if a specified topic name (or name subset) matches with the selector. More...
 
override SelectorType GetType ()
 
- Public Member Functions inherited from PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector
bool IsSimpleTopicNameSelector ()
 Is the selector a simple topic name selector that selects only a named topic and not its children? More...
 
bool SelectsChildren ()
 This indicates whether the selector selects the children of any selected topic also. More...
 
override string ToString ()
 Returns the string representation of this object. More...
 

Public Attributes

Regex thePattern
 The regular expression object representing the pattern. More...
 

Additional Inherited Members

- Public Types inherited from PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector
enum  SelectorType { SelectorType.ALL, SelectorType.NAME, SelectorType.PATTERN, SelectorType.PATTERNS }
 
- Static Public Member Functions inherited from PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector
static TopicSelector Parse (string selector)
 Parses a topic selector. More...
 
static bool IsTopicName (string name)
 Checks if a supplied string is a valid topic name (as opposed to a topic selector). More...
 
static bool IsValidSelector (string selector)
 Check if the supplied string is a valid topic selector. This allows for regex metachars in the string, but does not check that the regex is valid. Only regex characters or valid codepoint characters are allowed. Also, the selector cannot start with a name delimiter. More...
 
static bool IsValidTopicNodeName (string topicName)
 Validates a topic node name to ensure that it does not contain invalid characters. More...
 
- Protected Member Functions inherited from PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector
 TopicSelector (string selectorString, bool selectsAllBelow, bool selectsAllInclusive)
 Constructor. More...
 
- Protected Attributes inherited from PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector
const char NameDelimiterChar = '/'
 
- Properties inherited from PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector
int HashCode [get, set]
 This allows for efficient equality matching of selectors. More...
 
bool SelectsAllBelow [get, set]
 Does this topic selector select all topics beneath it? More...
 
bool SelectsAllInclusive [get, set]
 
string SelectorString [get, set]
 
string Name [get, set]
 

Detailed Description

Selects nodes by a single regex pattern applied to the full hierarchic name.

The nodes selected can be returned, or all nodes beneath them, or all selected nodes, AND all nodes beneath them.

Constructor & Destructor Documentation

PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorSinglePattern.TopicSelectorSinglePattern ( string  specifier,
bool  allBelow,
bool  inclusive 
)

Constructor.

Parameters
specifierSpecifier made up of regex string.
allBelowShold all nodes below the selected nodes be returned?
inclusiveIf all nodes below returned, should the selected node itself also be returned?

Member Function Documentation

override SelectorType PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorSinglePattern.GetType ( )
virtual
override bool PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorSinglePattern.IsTopicNameSelector ( )
virtual

Is the selector a single topic name?

Returns

Implements PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector.

override bool PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorSinglePattern.Matches ( string  topicName)
virtual

This does a match to check if a specified topic name (or name subset) matches with the selector.

Parameters
topicNameThe topic name which must be a valid hierarchic topic name.
Returns
true if matches.

Implements PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector.

Member Data Documentation

Regex PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorSinglePattern.thePattern

The regular expression object representing the pattern.