Table of Contents

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

properties IDictionary<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 properties is null or 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

key string

The property key.

value string

The property value.

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 key or value is null or invalid.