-
Notifications
You must be signed in to change notification settings - Fork 0
DiGi.Typology.Classes
Represents a concrete column-based typology filter using the standard DiGi.Core.IO.Table.Classes.Column type.
public class ColumnTypologyFilter : DiGi.Typology.Classes.ColumnTypologyFilter<DiGi.Core.IO.Table.Classes.Column>Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Typology.Classes.TypologyFilter<DiGi.Typology.Classes.ColumnTypologyFilter<DiGi.Core.IO.Table.Classes.Column>> → DiGi.Typology.Classes.TypologyFilter<DiGi.Typology.Classes.ColumnTypologyFilter<DiGi.Core.IO.Table.Classes.Column>,DiGi.Core.IO.Table.Classes.Column> → DiGi.Typology.Classes.ColumnTypologyFilter<DiGi.Core.IO.Table.Classes.Column> → ColumnTypologyFilter
Initializes a new instance of the ColumnTypologyFilter class.
public ColumnTypologyFilter();Initializes a new instance of the ColumnTypologyFilter class by copying another instance.
public ColumnTypologyFilter(DiGi.Typology.Classes.ColumnTypologyFilter? columnTypologyFilter);columnTypologyFilter ColumnTypologyFilter
The column typology filter to copy.
Initializes a new instance of the ColumnTypologyFilter class from a JSON object.
public ColumnTypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the filter data.
Represents a typology filter based on columns of type DiGi.Core.IO.Table.Interfaces.IColumn.
public class ColumnTypologyFilter<UColumn> : DiGi.Typology.Classes.TypologyFilter<DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>, UColumn>
where UColumn : DiGi.Core.IO.Table.Interfaces.IColumnUColumn
The column type implementing DiGi.Core.IO.Table.Interfaces.IColumn.
Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Typology.Classes.TypologyFilter<DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>> → DiGi.Typology.Classes.TypologyFilter<DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>,UColumn> → ColumnTypologyFilter<UColumn>
Derived
↳ ColumnTypologyFilter
Initializes a new instance of the ColumnTypologyFilter<UColumn> class.
public ColumnTypologyFilter();Initializes a new instance of the ColumnTypologyFilter<UColumn> class by copying another instance.
public ColumnTypologyFilter(DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>? columnTypologyFilter);columnTypologyFilter DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>
The column typology filter to copy.
Initializes a new instance of the ColumnTypologyFilter<UColumn> class from a JSON object.
public ColumnTypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the filter data.
Solver that applies a ColumnTypologyFilter<UColumn> to a collection of rows to resolve typologies.
public class ColumnTypologyFilterSolver<TColumn,TRow> : DiGi.Typology.Classes.TypologyFilterSolver<DiGi.Typology.Classes.ColumnTypologyFilter<TColumn>, TRow>
where TColumn : DiGi.Core.IO.Table.Interfaces.IColumn
where TRow : DiGi.Core.IO.Table.Interfaces.IRow<TRow>TColumn
The column type implementing DiGi.Core.IO.Table.Interfaces.IColumn.
TRow
The row type implementing DiGi.Core.IO.Table.Interfaces.IRow<>.
Inheritance System.Object → DiGi.Typology.Classes.TypologyFilterSolver<DiGi.Typology.Classes.ColumnTypologyFilter<TColumn>,TRow> → ColumnTypologyFilterSolver<TColumn,TRow>
Initializes a new instance of the ColumnTypologyFilterSolver<TColumn,TRow> class.
public ColumnTypologyFilterSolver();Initializes a new instance of the ColumnTypologyFilterSolver<TColumn,TRow> class using a specified column filter and data table.
public ColumnTypologyFilterSolver(DiGi.Typology.Classes.ColumnTypologyFilter<TColumn> columnTypologyFilter, DiGi.Core.IO.Table.Classes.Table<TColumn,TRow> table);columnTypologyFilter DiGi.Typology.Classes.ColumnTypologyFilter<TColumn>
The column typology filter to apply.
table DiGi.Core.IO.Table.Classes.Table<TColumn,TRow>
The data table containing rows to evaluate.
Initializes a new instance of the ColumnTypologyFilterSolver<TColumn,TRow> class using a specified column filter and a collection of rows.
public ColumnTypologyFilterSolver(DiGi.Typology.Classes.ColumnTypologyFilter<TColumn> columnTypologyFilter, System.Collections.Generic.IEnumerable<TRow> rows);columnTypologyFilter DiGi.Typology.Classes.ColumnTypologyFilter<TColumn>
The column typology filter to apply.
rows System.Collections.Generic.IEnumerable<TRow>
The collection of rows to evaluate.
Represents a typology filter rule for double range values.
public class DoubleRangeFilterRule : DiGi.Typology.Classes.RangeValueFilterRule<double>Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilterRule → DiGi.Typology.Classes.RangeValueFilterRule<System.Double> → DoubleRangeFilterRule
Initializes a new instance of the DoubleRangeFilterRule class.
public DoubleRangeFilterRule();Initializes a new instance of the DoubleRangeFilterRule class by copying another instance.
public DoubleRangeFilterRule(DiGi.Typology.Classes.DoubleRangeFilterRule doubleRangeFilterRule);doubleRangeFilterRule DoubleRangeFilterRule
The source filter rule to copy.
Initializes a new instance of the DoubleRangeFilterRule class with a collection of ranges.
public DoubleRangeFilterRule(System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<double>>? ranges);ranges System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<System.Double>>
The collection of double ranges to assign.
Initializes a new instance of the DoubleRangeFilterRule class with a JSON object.
public DoubleRangeFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the double range filter rule data.
Represents a group value filter rule.
public abstract class GroupValueFilterRule : DiGi.Typology.Classes.TypologyFilterRule, DiGi.Typology.Interfaces.ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilterRule → GroupValueFilterRule
Implements ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
Initializes a new instance of the GroupValueFilterRule class.
public GroupValueFilterRule();Initializes a new instance of the GroupValueFilterRule class by copying another instance.
public GroupValueFilterRule(DiGi.Typology.Classes.GroupValueFilterRule groupValueFilterRule);groupValueFilterRule GroupValueFilterRule
The source filter rule to copy.
Initializes a new instance of the GroupValueFilterRule class with a JSON object.
public GroupValueFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the filter rule data.
Represents a typology filter rule for int range values.
public class IntegerRangeFilterRule : DiGi.Typology.Classes.RangeValueFilterRule<int>Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilterRule → DiGi.Typology.Classes.RangeValueFilterRule<System.Int32> → IntegerRangeFilterRule
Initializes a new instance of the IntegerRangeFilterRule class.
public IntegerRangeFilterRule();Initializes a new instance of the IntegerRangeFilterRule class by copying another instance.
public IntegerRangeFilterRule(DiGi.Typology.Classes.IntegerRangeFilterRule integerRangeFilterRule);integerRangeFilterRule IntegerRangeFilterRule
The source filter rule to copy.
Initializes a new instance of the IntegerRangeFilterRule class with a collection of ranges.
public IntegerRangeFilterRule(System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<int>>? ranges);ranges System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<System.Int32>>
The collection of double ranges to assign.
Initializes a new instance of the IntegerRangeFilterRule class with a JSON object.
public IntegerRangeFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the double range filter rule data.
Represents a generic base class for range value filter rules.
public abstract class RangeValueFilterRule<TValueType> : DiGi.Typology.Classes.TypologyFilterRule, DiGi.Typology.Interfaces.ITypologyFilterRule<DiGi.Typology.Classes.RangeValueRuleData<TValueType>>, DiGi.Typology.Interfaces.ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
where TValueType : System.IComparable<TValueType>TValueType
The type of the range values, which must implement System.IComparable<>.
Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilterRule → RangeValueFilterRule<TValueType>
Derived
↳ DoubleRangeFilterRule
↳ IntegerRangeFilterRule
Implements DiGi.Typology.Interfaces.ITypologyFilterRule<DiGi.Typology.Classes.RangeValueRuleData<TValueType>>, ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
Initializes a new instance of the RangeValueFilterRule<TValueType> class.
public RangeValueFilterRule();Initializes a new instance of the RangeValueFilterRule<TValueType> class by copying another instance.
public RangeValueFilterRule(DiGi.Typology.Classes.RangeValueFilterRule<TValueType> rangeValueFilterRule);rangeValueFilterRule DiGi.Typology.Classes.RangeValueFilterRule<TValueType>
The source range filter rule to copy.
Initializes a new instance of the RangeValueFilterRule<TValueType> class with a collection of ranges.
public RangeValueFilterRule(System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<TValueType>>? ranges);ranges System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<TValueType>>
The collection of ranges to assign.
Initializes a new instance of the RangeValueFilterRule<TValueType> class with a JSON object.
public RangeValueFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the range filter rule data.
Gets or sets the collection of ranges managed by this rule.
public System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<TValueType>> Ranges { get; set; }System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<TValueType>>
Adds a range to the filter rule.
public bool Add(DiGi.Core.Classes.Range<TValueType>? range);range DiGi.Core.Classes.Range<TValueType>
The range to add.
System.Boolean
True if the range was successfully added; otherwise, false.
Resolves the filter rule data for the specified value.
public DiGi.Typology.Classes.RangeValueRuleData<TValueType>? RuleData(object? object_Value);object_Value System.Object
The value to test against the ranges.
Implements RuleData(object)
DiGi.Typology.Classes.RangeValueRuleData<TValueType>
The matching range rule data, or null if no range matches.
Represents the resulting data for a range value rule.
public class RangeValueRuleData<TValueType> : DiGi.Typology.Classes.TypologyFilterRuleData<DiGi.Typology.Classes.RangeValueRuleData<TValueType>>TValueType
The underlying type of the range values.
Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Typology.Classes.TypologyFilterRuleData<DiGi.Typology.Classes.RangeValueRuleData<TValueType>> → RangeValueRuleData<TValueType>
Initializes a new instance of the RangeValueRuleData<TValueType> class.
public RangeValueRuleData();Initializes a new instance of the RangeValueRuleData<TValueType> class with a specific range.
public RangeValueRuleData(DiGi.Core.Classes.Range<TValueType>? range);range DiGi.Core.Classes.Range<TValueType>
The range values.
Initializes a new instance of the RangeValueRuleData<TValueType> class by copying another instance.
public RangeValueRuleData(DiGi.Typology.Classes.RangeValueRuleData<TValueType> rangeValueRuleData);rangeValueRuleData DiGi.Typology.Classes.RangeValueRuleData<TValueType>
The source range rule data to copy.
Initializes a new instance of the RangeValueRuleData<TValueType> class with a JSON object.
public RangeValueRuleData(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing range rule data.
Determines whether this instance and another specified range rule data have the same value.
public override bool Equals(DiGi.Typology.Classes.RangeValueRuleData<TValueType> rangeValueRuleData);rangeValueRuleData DiGi.Typology.Classes.RangeValueRuleData<TValueType>
The range rule data to compare with this instance.
System.Boolean
True if the values are equal; otherwise, false.
Determines whether this instance and a specified object have the same value.
public override bool Equals(object? @object);object System.Object
The object to compare with this instance.
System.Boolean
True if the object is equal to this instance; otherwise, false.
Returns the hash code for this instance.
public override int GetHashCode();System.Int32
A 32-bit signed integer hash code.
Returns a string representation of the range rule data.
public override string ToString();System.String
A string representation of the range.
Represents a typology object that can be serialized and compared.
public class Typology : DiGi.Core.Classes.SerializableObject, DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject, System.IComparable<DiGi.Typology.Classes.Typology>Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → Typology
Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject, System.IComparable<Typology>
Initializes a new instance of the Typology class by cloning an existing typology.
public Typology(DiGi.Typology.Classes.Typology? typology);typology Typology
The source typology object to clone.
Initializes a new instance of the Typology class with a specified typology item.
public Typology(DiGi.Typology.Classes.TypologyItem? typologyItem);typologyItem TypologyItem
The typology item to assign.
Initializes a new instance of the Typology class with a specified typology item and sub-typologies.
public Typology(DiGi.Typology.Classes.TypologyItem? typologyItem, System.Collections.Generic.IEnumerable<DiGi.Typology.Classes.Typology>? subTypologies);typologyItem TypologyItem
The typology item to assign.
subTypologies System.Collections.Generic.IEnumerable<Typology>
A collection of sub-typologies to associate with this instance.
Initializes a new instance of the Typology class with a specified name and description.
public Typology(string? name, string? description);name System.String
The name of the typology.
description System.String
The description of the typology.
Initializes a new instance of the Typology class from a JSON object.
public Typology(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing typology data.
Gets or sets the description of the typology.
public string? Description { get; set; }Implements Description
Gets or sets the name of the typology.
public string? Name { get; set; }Implements Name
Gets the list of references associated with this typology.
public System.Collections.Generic.List<string> References { get; }System.Collections.Generic.List<System.String>
Gets or sets the list of sub-typologies associated with this typology.
public System.Collections.Generic.List<DiGi.Typology.Classes.Typology>? SubTypologies { get; private set; }System.Collections.Generic.List<Typology>
Gets the path information for this typology.
public DiGi.Typology.Classes.TypologyPath? TypologyPath { get; }Adds a reference to the typology.
public bool AddReference(string? reference);reference System.String
The reference string to add.
System.Boolean
True if the reference was added successfully; otherwise, false.
Compares the current typology instance with another typology instance.
public int CompareTo(DiGi.Typology.Classes.Typology typology);typology Typology
The typology instance to compare against.
System.Int32
A signed integer that indicates the relative order of the objects being compared.
Determines whether the typology contains a specific reference, optionally including references from nested typologies.
public bool Contains(string reference, bool includeNested=false);reference System.String
The reference string to search for.
includeNested System.Boolean
A value indicating whether to include nested typologies in the search.
System.Boolean
True if the reference is found; otherwise, false.
Retrieves a set of all references associated with this typology, optionally including those from nested typologies.
public System.Collections.Generic.HashSet<string> GetReferences(bool includeNested);includeNested System.Boolean
A value indicating whether to include references from nested typologies.
System.Collections.Generic.HashSet<System.String>
A System.Collections.Generic.HashSet<> containing the references.
Retrieves a typology instance based on the provided typology path.
public DiGi.Typology.Classes.Typology? GetTypology(DiGi.Typology.Classes.TypologyPath? typologyPath);typologyPath TypologyPath
The path used to locate the typology.
Typology
The Typology instance if found; otherwise, null.
Retrieves a typology instance based on a sequence of integer identifiers representing the path.
public DiGi.Typology.Classes.Typology? GetTypology(System.Collections.Generic.IEnumerable<int>? values);values System.Collections.Generic.IEnumerable<System.Int32>
An enumerable collection of integers representing the typology path.
Typology
The Typology instance if found; otherwise, null.
Retrieves a list of typology paths for all sub-typologies, optionally including nested ones.
public System.Collections.Generic.List<DiGi.Typology.Classes.TypologyPath>? GetTypologyPaths(bool includeNested=false);includeNested System.Boolean
A value indicating whether to recursively retrieve paths from nested typologies.
System.Collections.Generic.List<TypologyPath>
A System.Collections.Generic.List<> of TypologyPath objects, or null if no sub-typologies exist.
Returns a string representation of the current typology.
public override string ToString();System.String
A string representing the typology item or the base object string.
Attempts to retrieve the last index from the sub-typologies collection.
public bool TryGetLastIndex(out int index);index System.Int32
When this method returns, contains the maximum index if successful; otherwise, -1.
System.Boolean
True if the last index was successfully retrieved; otherwise, false.
Attempts to retrieve a list of typologies that match the specified path and name.
public bool TryGetTypologies(DiGi.Typology.Classes.TypologyPath? typologyPath, string name, out System.Collections.Generic.List<DiGi.Typology.Classes.Typology>? typologies);typologyPath TypologyPath
The path to search within.
name System.String
The name of the typologies to find.
typologies System.Collections.Generic.List<Typology>
When this method returns, contains a list of matching typologies if successful; otherwise, null.
System.Boolean
True if one or more matching typologies were found; otherwise, false.
Attempts to retrieve a list of typologies that match the specified name at the root level.
public bool TryGetTypologies(string name, out System.Collections.Generic.List<DiGi.Typology.Classes.Typology>? typologies);name System.String
The name of the typologies to find.
typologies System.Collections.Generic.List<Typology>
When this method returns, contains a list of matching typologies if successful; otherwise, null.
System.Boolean
True if one or more matching typologies were found; otherwise, false.
Attempts to retrieve a list of typologies that match the specified index values and name.
public bool TryGetTypologies(System.Collections.Generic.IEnumerable<int> values, string name, out System.Collections.Generic.List<DiGi.Typology.Classes.Typology>? typologies);values System.Collections.Generic.IEnumerable<System.Int32>
The sequence of indices representing the typology path.
name System.String
The name of the typologies to find.
typologies System.Collections.Generic.List<Typology>
When this method returns, contains a list of matching typologies if successful; otherwise, null.
System.Boolean
True if one or more matching typologies were found; otherwise, false.
Updates the typology based on the provided typology item.
public DiGi.Typology.Classes.Typology? Update(DiGi.Typology.Classes.TypologyItem? typologyItem);typologyItem TypologyItem
The typology item containing updated information.
Typology
The updated Typology instance, or null if the input was null.
Updates or creates a typology using specified name at the current level.
public DiGi.Typology.Classes.Typology? Update(string? name);name System.String
The name of the typology.
Typology
The updated or created Typology instance, or null if update failed.
Updates or creates a typology using specified name and description at the current level.
public DiGi.Typology.Classes.Typology? Update(string? name, string? description);name System.String
The name of the typology.
description System.String
The description of the typology.
Typology
The updated or created Typology instance, or null if update failed.
Updates or creates a typology using specified path values and name.
public DiGi.Typology.Classes.Typology? Update(System.Collections.Generic.IEnumerable<int>? values, string? name);values System.Collections.Generic.IEnumerable<System.Int32>
The sequence of indices representing the typology path.
name System.String
The name of the typology.
Typology
The updated or created Typology instance, or null if update failed.
Updates or creates a typology using specified path values, name, and description.
public DiGi.Typology.Classes.Typology? Update(System.Collections.Generic.IEnumerable<int>? values, string? name, string? description);values System.Collections.Generic.IEnumerable<System.Int32>
The sequence of indices representing the typology path.
name System.String
The name of the typology.
description System.String
The description of the typology.
Typology
The updated or created Typology instance, or null if update failed.
Represents a typology file containing typology data.
public class TypologyFile : DiGi.Core.IO.File.Classes.ValueFile<DiGi.Typology.Classes.Typology>, DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.IO.File.Classes.File → DiGi.Core.IO.File.Classes.ValueFile<Typology> → TypologyFile
Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject
Initializes a new instance of the TypologyFile class based on an existing TypologyFile instance.
public TypologyFile(DiGi.Typology.Classes.TypologyFile? typologyFile);typologyFile TypologyFile
The source typology file to copy from.
Initializes a new instance of the TypologyFile class from the specified file path.
public TypologyFile(string path);path System.String
The path to the typology file.
Initializes a new instance of the TypologyFile class using a JSON object.
public TypologyFile(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing typology data.
Represents a generic abstract base class for typology filters that hold a specific value.
public abstract class TypologyFilter<TTypologyFilter,TValue> : DiGi.Typology.Classes.TypologyFilter<TTypologyFilter>, DiGi.Typology.Interfaces.ITypologyFilter<TTypologyFilter, TValue>, DiGi.Typology.Interfaces.ITypologyFilter<TTypologyFilter>, DiGi.Typology.Interfaces.ITypologyFilter, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
where TTypologyFilter : DiGi.Typology.Classes.TypologyFilter<TTypologyFilter>TTypologyFilter
The specific subclass type of the typology filter.
TValue
The type of the filter value.
Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Typology.Classes.TypologyFilter<TTypologyFilter> → TypologyFilter<TTypologyFilter,TValue>
Derived
↳ ColumnTypologyFilter<UColumn>
Implements DiGi.Typology.Interfaces.ITypologyFilter<TTypologyFilter,TValue>, DiGi.Typology.Interfaces.ITypologyFilter<TTypologyFilter>, ITypologyFilter, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
Initializes a new instance of the TypologyFilter<TTypologyFilter,TValue> class.
protected TypologyFilter();Initializes a new instance of the TypologyFilter<TTypologyFilter,TValue> class by copying another instance.
protected TypologyFilter(DiGi.Typology.Classes.TypologyFilter<TTypologyFilter,TValue>? typologyFilter);typologyFilter DiGi.Typology.Classes.TypologyFilter<TTypologyFilter,TValue>
The source filter instance to copy from.
Initializes a new instance of the TypologyFilter<TTypologyFilter,TValue> class with a JSON object.
protected TypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing filter data.
Gets or sets the value associated with this typology filter.
public TValue? Value { get; set; }Implements Value
Represents a generic abstract base class for typology filters.
public abstract class TypologyFilter<TTypologyFilter> : DiGi.Core.Classes.SerializableObject, DiGi.Typology.Interfaces.ITypologyFilter<TTypologyFilter>, DiGi.Typology.Interfaces.ITypologyFilter, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
where TTypologyFilter : DiGi.Typology.Classes.TypologyFilter<TTypologyFilter>TTypologyFilter
The specific subclass type of the typology filter.
Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilter<TTypologyFilter>
Derived
↳ TypologyFilter<TTypologyFilter,TValue>
Implements DiGi.Typology.Interfaces.ITypologyFilter<TTypologyFilter>, ITypologyFilter, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
Initializes a new instance of the TypologyFilter<TTypologyFilter> class.
protected TypologyFilter();Initializes a new instance of the TypologyFilter<TTypologyFilter> class by copying another instance.
protected TypologyFilter(DiGi.Typology.Classes.TypologyFilter<TTypologyFilter>? typologyFilter_Other);typologyFilter_Other DiGi.Typology.Classes.TypologyFilter<TTypologyFilter>
The source filter instance to copy from.
Initializes a new instance of the TypologyFilter<TTypologyFilter> class with a JSON object.
protected TypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing filter data.
Gets or sets the nested typology filter to apply sequentially.
public TTypologyFilter? Filter { get; set; }Implements Filter
Gets or sets the rule associated with this typology filter.
public DiGi.Typology.Interfaces.ITypologyFilterRule? Rule { get; set; }Implements Rule
Represents a base abstract class for typology filter rules.
public abstract class TypologyFilterRule : DiGi.Core.Classes.SerializableObject, DiGi.Typology.Interfaces.ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilterRule
Derived
↳ GroupValueFilterRule
↳ RangeValueFilterRule<TValueType>
↳ UniqueValueFilterRule
Implements ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
Initializes a new instance of the TypologyFilterRule class.
public TypologyFilterRule();Initializes a new instance of the TypologyFilterRule class by copying another instance.
public TypologyFilterRule(DiGi.Typology.Classes.TypologyFilterRule typologyFilterRule);typologyFilterRule TypologyFilterRule
The source filter rule to copy from.
Initializes a new instance of the TypologyFilterRule class with a JSON object.
public TypologyFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing filter rule data.
Represents a base abstract class for typology filter rule data.
public abstract class TypologyFilterRuleData<TTypologyFilterRuleData> : DiGi.Core.Classes.SerializableObject, DiGi.Typology.Interfaces.ITypologyFilterRuleData<TTypologyFilterRuleData>, DiGi.Typology.Interfaces.ITypologyFilterRuleData, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject, System.IEquatable<TTypologyFilterRuleData>
where TTypologyFilterRuleData : DiGi.Typology.Classes.TypologyFilterRuleData<TTypologyFilterRuleData>TTypologyFilterRuleData
The specific type of the typology filter rule data.
Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilterRuleData<TTypologyFilterRuleData>
Derived
↳ RangeValueRuleData<TValueType>
↳ UniqueValueRuleData
Implements DiGi.Typology.Interfaces.ITypologyFilterRuleData<TTypologyFilterRuleData>, ITypologyFilterRuleData, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject, System.IEquatable<TTypologyFilterRuleData>
Initializes a new instance of the TypologyFilterRuleData<TTypologyFilterRuleData> class.
public TypologyFilterRuleData();Initializes a new instance of the TypologyFilterRuleData<TTypologyFilterRuleData> class by copying another instance.
public TypologyFilterRuleData(DiGi.Typology.Classes.TypologyFilterRuleData<TTypologyFilterRuleData> typologyFilterRuleData);typologyFilterRuleData DiGi.Typology.Classes.TypologyFilterRuleData<TTypologyFilterRuleData>
The source filter rule data to copy from.
Initializes a new instance of the TypologyFilterRuleData<TTypologyFilterRuleData> class with a JSON object.
public TypologyFilterRuleData(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the filter rule data.
Compares this filter rule data instance to another for equality.
public abstract bool Equals(TTypologyFilterRuleData typologyFilterRuleData);typologyFilterRuleData TTypologyFilterRuleData
The filter rule data to compare.
Implements Equals(T)
System.Boolean
True if they are equal; otherwise, false.
Represents an abstract solver for applying typology filters to a collection of objects to resolve typologies.
public abstract class TypologyFilterSolver<TTypologyFilter,TObject> : DiGi.Core.Interfaces.IOneToOneSolver<TTypologyFilter, DiGi.Typology.Classes.Typology>, DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluator
where TTypologyFilter : DiGi.Typology.Interfaces.ITypologyFilter<TTypologyFilter>TTypologyFilter
The type of the typology filter.
TObject
The type of objects being evaluated.
Inheritance System.Object → TypologyFilterSolver<TTypologyFilter,TObject>
Derived
↳ ColumnTypologyFilterSolver<TColumn,TRow>
Implements DiGi.Core.Interfaces.IOneToOneSolver<TTypologyFilter,Typology>, DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluator
Initializes a new instance of the TypologyFilterSolver<TTypologyFilter,TObject> class.
public TypologyFilterSolver();Initializes a new instance of the TypologyFilterSolver<TTypologyFilter,TObject> class with a specified typology filter and collection of objects.
public TypologyFilterSolver(TTypologyFilter? typologyFilter, System.Collections.Generic.IEnumerable<TObject>? objects);typologyFilter TTypologyFilter
The input typology filter.
objects System.Collections.Generic.IEnumerable<TObject>
The collection of source objects to evaluate.
Gets or sets the input typology filter used for solving.
public TTypologyFilter? Input { get; set; }Implements Input
Gets or sets the collection of source objects to evaluate.
public System.Collections.Generic.IEnumerable<TObject>? Objects { get; set; }System.Collections.Generic.IEnumerable<TObject>
Gets the resulting typology output from the solving process.
public DiGi.Typology.Classes.Typology? Output { get; private set; }Implements Output
Default TypologyItem for Typology root
public DiGi.Typology.Classes.TypologyItem? TypologyItem { get; set; }Gets a unique reference identifier string for the specified object.
protected virtual string? GetReference(TObject? @object);object TObject
The object to identify.
System.String
The unique identifier string, or null.
TypologyFilterSolver<TTypologyFilter,TObject>.GetTypologyItem(TTypologyFilter, ITypologyFilterRuleData) Method
Creates a new typology item based on the current filter context and evaluated rule data.
protected abstract DiGi.Typology.Classes.TypologyItem? GetTypologyItem(TTypologyFilter? typologyFilter, DiGi.Typology.Interfaces.ITypologyFilterRuleData? typologyFilterRuleData);typologyFilter TTypologyFilter
The current typology filter context.
typologyFilterRuleData ITypologyFilterRuleData
The evaluated rule data.
TypologyItem
A new typology item, or null.
Extracts the target evaluation value from the specified object using the current filter context.
protected abstract object? GetValue(TTypologyFilter? typologyFilter, TObject? @object);typologyFilter TTypologyFilter
The current typology filter context.
object TObject
The object to extract the value from.
System.Object
The extracted value, or null.
Solves and populates the typology output by evaluating the input filter against the objects.
public bool Solve();Implements Solve()
System.Boolean
True if solving succeeded; otherwise, false.
Represents an item within a typology system, providing identification via a path and descriptive metadata.
public class TypologyItem : DiGi.Core.Classes.SerializableObject, DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject, System.IComparable<DiGi.Typology.Classes.TypologyItem>Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyItem
Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject, System.IComparable<TypologyItem>
Initializes a new instance of the TypologyItem class.
public TypologyItem();Initializes a new instance of the TypologyItem class by cloning an existing item.
public TypologyItem(DiGi.Typology.Classes.TypologyItem? typologyItem);typologyItem TypologyItem
The source item to clone.
Initializes a new instance of the TypologyItem class using a specific typology path and metadata from another item.
public TypologyItem(DiGi.Typology.Classes.TypologyPath? typologyPath, DiGi.Typology.Classes.TypologyItem typologyItem);typologyPath TypologyPath
The path to assign to this item.
typologyItem TypologyItem
The source item to copy the name and description from.
Initializes a new instance of the TypologyItem class using a typology path and a name.
public TypologyItem(DiGi.Typology.Classes.TypologyPath? typologyPath, string? name);typologyPath TypologyPath
The path associated with this item.
name System.String
The name of the item.
Initializes a new instance of the TypologyItem class using a typology path, a name, and a description.
public TypologyItem(DiGi.Typology.Classes.TypologyPath? typologyPath, string? name, string? description);typologyPath TypologyPath
The path associated with this item.
name System.String
The name of the item.
description System.String
The description of the item.
Initializes a new instance of the TypologyItem class using a collection of path values and a name.
public TypologyItem(System.Collections.Generic.IEnumerable<int>? values, string? name);values System.Collections.Generic.IEnumerable<System.Int32>
The sequence of integers defining the typology path.
name System.String
The name of the item.
Initializes a new instance of the TypologyItem class using a collection of path values, a name, and a description.
public TypologyItem(System.Collections.Generic.IEnumerable<int>? values, string? name, string? description);values System.Collections.Generic.IEnumerable<System.Int32>
The sequence of integers defining the typology path.
name System.String
The name of the item.
description System.String
The description of the item.
Initializes a new instance of the TypologyItem class from a JSON object.
public TypologyItem(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing item data.
Gets or sets the description of the typology item.
public string? Description { get; set; }Implements Description
Gets or sets the name of the typology item.
public string? Name { get; set; }Implements Name
Gets the typology path associated with this item.
public DiGi.Typology.Classes.TypologyPath? TypologyPath { get; }Compares the current instance with another TypologyItem based on their paths.
public int CompareTo(DiGi.Typology.Classes.TypologyItem typologyItem);typologyItem TypologyItem
The item to compare with this instance.
System.Int32
A value indicating the relative order of the objects being compared.
Returns a string representation of the current item, typically in the format "[path] name".
public override string ToString();System.String
A string representing the typology item.
Represents a model for typology data, inheriting from GuidModel and implementing ITypologyObject and INamedObject.
public class TypologyModel : DiGi.Core.Classes.GuidModel, DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.UniqueObject → DiGi.Core.Classes.GuidObject → DiGi.Core.Classes.GuidModel → TypologyModel
Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject
Initializes a new instance of the TypologyModel class.
public TypologyModel();Initializes a new instance of the TypologyModel class by cloning an existing typology model.
public TypologyModel(DiGi.Typology.Classes.TypologyModel? typologyModel);typologyModel TypologyModel
The source typology model to clone.
Initializes a new instance of the TypologyModel class with specified name and typology.
public TypologyModel(string? name, DiGi.Typology.Classes.Typology? typology);name System.String
The name of the typology model.
typology Typology
The typology associated with the model.
Initializes a new instance of the TypologyModel class with specified GUID, name, and typology.
public TypologyModel(System.Guid guid, string? name, DiGi.Typology.Classes.Typology? typology);guid System.Guid
The unique identifier for the model.
name System.String
The name of the typology model.
typology Typology
The typology associated with the model.
Initializes a new instance of the TypologyModel class from a JSON object.
public TypologyModel(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing the model data.
Gets or sets the name of the typology model.
public string? Name { get; set; }Implements Name
Gets or sets the typology associated with the model.
public DiGi.Typology.Classes.Typology? Typology { get; set; }Represents a path within a typology hierarchy as a sequence of integer values.
public class TypologyPath : DiGi.Core.Classes.SerializableObject, DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, System.Collections.Generic.IEnumerable<int>, System.Collections.IEnumerable, System.IComparable<DiGi.Typology.Classes.TypologyPath>Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyPath
Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, System.Collections.Generic.IEnumerable<System.Int32>, System.Collections.IEnumerable, System.IComparable<TypologyPath>
Initializes a new instance of the TypologyPath class by copying an existing path.
public TypologyPath(DiGi.Typology.Classes.TypologyPath? typologyPath);typologyPath TypologyPath
The source typology path to copy.
Initializes a new instance of the TypologyPath class using a collection of integer values.
public TypologyPath(System.Collections.Generic.IEnumerable<int>? values);values System.Collections.Generic.IEnumerable<System.Int32>
The sequence of integers representing the path.
Initializes a new instance of the TypologyPath class from a JSON object.
public TypologyPath(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing path data.
Gets the total number of elements in the typology path.
public int Count { get; }Gets the value of the last element in the path, or -1 if the path is empty.
public int Index { get; }Gets the immediate parent of the current typology path.
public DiGi.Typology.Classes.TypologyPath? Parent { get; }Gets the number of ancestor levels above the current path.
public int ParentCount { get; }Gets the value at the specified index of the typology path.
public int this[int index] { get; }index System.Int32
The zero-based index of the element to get.
Compares the current path with another typology path.
public int CompareTo(DiGi.Typology.Classes.TypologyPath typologyPath);typologyPath TypologyPath
The path to compare against.
System.Int32
A value indicating whether this instance precedes, follows, or is equal to the specified path.
Determines whether the specified object is equal to the current typology path based on sequence equality.
public override bool Equals(object obj);obj System.Object
The object to compare with the current instance.
System.Boolean
True if the objects are equal; otherwise, false.
Returns an enumerator that iterates through the integer values of the path.
public System.Collections.Generic.IEnumerator<int> GetEnumerator();Implements GetEnumerator(), GetEnumerator()
System.Collections.Generic.IEnumerator<System.Int32>
An enumerator for the sequence of integers.
Returns a hash code for the current typology path based on its sequence of values.
public override int GetHashCode();System.Int32
A 32-bit signed integer hash code.
Retrieves a path representing the hierarchy up to and including the specified index.
public DiGi.Typology.Classes.TypologyPath? GetParent(int index);index System.Int32
The end index of the parent path.
TypologyPath
A new TypologyPath instance, or null if the index is out of range.
Extracts a specific segment of the typology path.
public DiGi.Typology.Classes.TypologyPath? GetTypologyPath(int index, int count);index System.Int32
The starting zero-based index of the segment.
count System.Int32
The number of elements to include in the segment.
TypologyPath
A new TypologyPath containing the extracted range.
Generates a list of all ancestor paths for the current typology path.
public System.Collections.Generic.List<DiGi.Typology.Classes.TypologyPath> GetTypologyPaths();System.Collections.Generic.List<TypologyPath>
A list containing all parent TypologyPath instances.
Returns a string representation of the path, with values separated by dots.
public override string ToString();System.String
A dot-separated string of the typology path values.
Concatenates two typology paths into a single path.
public static DiGi.Typology.Classes.TypologyPath? operator +(DiGi.Typology.Classes.TypologyPath? typologyPath_1, DiGi.Typology.Classes.TypologyPath? typologyPath_2);typologyPath_1 TypologyPath
The first path segment.
typologyPath_2 TypologyPath
The second path segment to append.
TypologyPath
A new TypologyPath representing the combined sequence, or null if both inputs are null.
Explicitly converts a list of integers to a TypologyPath.
public static DiGi.Typology.Classes.TypologyPath? explicit operator DiGi.Typology.Classes.TypologyPath?(System.Collections.Generic.List<int>? values);values System.Collections.Generic.List<System.Int32>
The list of integers representing the path.
TypologyPath
A new TypologyPath instance, or null if the input is null.
Explicitly converts a TypologyPath to a list of integers.
public static System.Collections.Generic.List<int>? explicit operator System.Collections.Generic.List<int>?(DiGi.Typology.Classes.TypologyPath? typologyPath);typologyPath TypologyPath
The typology path to convert.
System.Collections.Generic.List<System.Int32>
A new list containing the values of the path, or null if the input is null.
Represents a typology filter rule that matches unique values.
public class UniqueValueFilterRule : DiGi.Typology.Classes.TypologyFilterRule, DiGi.Typology.Interfaces.ITypologyFilterRule<DiGi.Typology.Classes.UniqueValueRuleData>, DiGi.Typology.Interfaces.ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObjectInheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → TypologyFilterRule → UniqueValueFilterRule
Implements DiGi.Typology.Interfaces.ITypologyFilterRule<UniqueValueRuleData>, ITypologyFilterRule, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Typology.Interfaces.ITypologyObject
Resolves the filter rule data for the specified value.
public DiGi.Typology.Classes.UniqueValueRuleData? RuleData(object? @object);object System.Object
The value to wrap in unique value data.
Implements RuleData(object)
UniqueValueRuleData
A new instance of unique value rule data wrapping the value.
Represents the resulting data for a unique value filter rule.
public class UniqueValueRuleData : DiGi.Typology.Classes.TypologyFilterRuleData<DiGi.Typology.Classes.UniqueValueRuleData>Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Typology.Classes.TypologyFilterRuleData<UniqueValueRuleData> → UniqueValueRuleData
Initializes a new instance of the UniqueValueRuleData class.
public UniqueValueRuleData();Initializes a new instance of the UniqueValueRuleData class by copying another instance.
public UniqueValueRuleData(DiGi.Typology.Classes.UniqueValueRuleData uniqueValueRuleData);uniqueValueRuleData UniqueValueRuleData
The source unique value rule data to copy.
Initializes a new instance of the UniqueValueRuleData class with a specific value.
public UniqueValueRuleData(object? @object);object System.Object
The value to wrap.
Initializes a new instance of the UniqueValueRuleData class with a JSON object.
public UniqueValueRuleData(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing unique value rule data.
Determines whether this instance and another specified unique value rule data have the same value.
public override bool Equals(DiGi.Typology.Classes.UniqueValueRuleData uniqueValueRuleData);uniqueValueRuleData UniqueValueRuleData
The unique value rule data to compare with this instance.
System.Boolean
True if they are equal; otherwise, false.
Determines whether this instance and a specified object have the same value.
public override bool Equals(object? @object);object System.Object
The object to compare with this instance.
System.Boolean
True if the object is equal to this instance; otherwise, false.
Returns the hash code for this instance.
public override int GetHashCode();System.Int32
A 32-bit signed integer hash code.
Returns a string representation of the unique value rule data.
public override string ToString();System.String
A string representation of the value.