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

Selects nodes by regex patterns, each pattern separated by a '/' representing a level of the topic tree hierarchy. The nodes selected can be returned or all nodes beneath them or all selected nodes AND all nodes beneath them. More...

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

Public Member Functions

 TopicSelectorPatterns (string specifier, bool selectsAllBelow, bool selectsAllInclusive)
 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 ()
 Returns the type of this selector. More...
 
- 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...
 

Properties

List< Regex > Patterns [get]
 Get the regex patterns. More...
 
- 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]
 

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 = '/'
 

Detailed Description

Selects nodes by regex patterns, each pattern separated by a '/' representing a level of the topic tree hierarchy. 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.TopicSelectorPatterns.TopicSelectorPatterns ( string  specifier,
bool  selectsAllBelow,
bool  selectsAllInclusive 
)

Constructor.

Parameters
specifier
selectsAllBelow
selectsAllInclusive

Member Function Documentation

override SelectorType PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorPatterns.GetType ( )
virtual

Returns the type of this selector.

Returns

Implements PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector.

override bool PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorPatterns.IsTopicNameSelector ( )
virtual

Is the selector a single topic name?

Returns

Implements PushTechnology.DiffusionCore.Messaging.Topic.TopicSelector.

override bool PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorPatterns.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.

Property Documentation

List<Regex> PushTechnology.DiffusionCore.Messaging.Topic.TopicSelectorPatterns.Patterns
get

Get the regex patterns.