Interface ITopicSpecification
- Namespace
- PushTechnology.ClientInterface.Client.Topics.Details
- Assembly
- Diffusion.Client.dll
Represents the specification of a topic.
public interface ITopicSpecification
Remarks
A topic is specified in terms of its TopicType and a dictionary of optional property settings which can alter the default behavior of the topic.
All possible properties are defined in TopicSpecificationProperty.
Properties
Properties
Returns the topic properties as a dictionary.
IReadOnlyDictionary<string, string> Properties { get; }
Property Value
- IReadOnlyDictionary<string, string>
The topic properties as a dictionary.
Remarks
This may be empty depending upon the level of detail requested.
Type
Returns the topic type.
TopicType Type { get; }
Property Value
- TopicType
The topic type.
Methods
WithProperties(IDictionary<string, string>)
Creates a new specification with the specified properties.
ITopicSpecification WithProperties(IDictionary<string, string> properties)
Parameters
propertiesIDictionary<string, string>A dictionary of properties.
Returns
- ITopicSpecification
A new ITopicSpecification based upon this one but with all properties replaced by those in the given dictionary. Previous property settings will not be copied to the new specification.
Exceptions
- ArgumentException
The
propertiesisnullor any of the given properties are invalid.
WithProperty(string, string)
Creates a new specification with the specified property value set.
ITopicSpecification WithProperty(string key, string value)
Parameters
Returns
- ITopicSpecification
A new ITopicSpecification based upon the current but with the specified property set to the specified value. All other property settings will be copied to the new specification.
Exceptions
- ArgumentException
The
keyorvalueisnullor invalid.