Skip to content

DiGi.Typology.Classes

github-actions[bot] edited this page Jul 15, 2026 · 2 revisions

DiGi.Typology.Classes Namespace

Classes

ColumnTypologyFilter Class

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.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectDiGi.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

Constructors

ColumnTypologyFilter() Constructor

Initializes a new instance of the ColumnTypologyFilter class.

public ColumnTypologyFilter();

ColumnTypologyFilter(ColumnTypologyFilter) Constructor

Initializes a new instance of the ColumnTypologyFilter class by copying another instance.

public ColumnTypologyFilter(DiGi.Typology.Classes.ColumnTypologyFilter? columnTypologyFilter);

Parameters

columnTypologyFilter ColumnTypologyFilter

The column typology filter to copy.

ColumnTypologyFilter(JsonObject) Constructor

Initializes a new instance of the ColumnTypologyFilter class from a JSON object.

public ColumnTypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the filter data.

ColumnTypologyFilter<UColumn> Class

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.IColumn

Type parameters

UColumn

The column type implementing DiGi.Core.IO.Table.Interfaces.IColumn.

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectDiGi.Typology.Classes.TypologyFilter<DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>>DiGi.Typology.Classes.TypologyFilter<DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>,UColumn> → ColumnTypologyFilter<UColumn>

Derived
ColumnTypologyFilter

Constructors

ColumnTypologyFilter() Constructor

Initializes a new instance of the ColumnTypologyFilter<UColumn> class.

public ColumnTypologyFilter();

ColumnTypologyFilter(ColumnTypologyFilter<UColumn>) Constructor

Initializes a new instance of the ColumnTypologyFilter<UColumn> class by copying another instance.

public ColumnTypologyFilter(DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>? columnTypologyFilter);

Parameters

columnTypologyFilter DiGi.Typology.Classes.ColumnTypologyFilter<UColumn>

The column typology filter to copy.

ColumnTypologyFilter(JsonObject) Constructor

Initializes a new instance of the ColumnTypologyFilter<UColumn> class from a JSON object.

public ColumnTypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the filter data.

ColumnTypologyFilterSolver<TColumn,TRow> Class

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>

Type parameters

TColumn

The column type implementing DiGi.Core.IO.Table.Interfaces.IColumn.

TRow

The row type implementing DiGi.Core.IO.Table.Interfaces.IRow<>.

Inheritance System.ObjectDiGi.Typology.Classes.TypologyFilterSolver<DiGi.Typology.Classes.ColumnTypologyFilter<TColumn>,TRow> → ColumnTypologyFilterSolver<TColumn,TRow>

Constructors

ColumnTypologyFilterSolver() Constructor

Initializes a new instance of the ColumnTypologyFilterSolver<TColumn,TRow> class.

public ColumnTypologyFilterSolver();

ColumnTypologyFilterSolver(ColumnTypologyFilter<TColumn>, Table<TColumn,TRow>) Constructor

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);

Parameters

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.

ColumnTypologyFilterSolver(ColumnTypologyFilter<TColumn>, IEnumerable<TRow>) Constructor

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);

Parameters

columnTypologyFilter DiGi.Typology.Classes.ColumnTypologyFilter<TColumn>

The column typology filter to apply.

rows System.Collections.Generic.IEnumerable<TRow>

The collection of rows to evaluate.

DoubleRangeFilterRule Class

Represents a typology filter rule for double range values.

public class DoubleRangeFilterRule : DiGi.Typology.Classes.RangeValueFilterRule<double>

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectTypologyFilterRuleDiGi.Typology.Classes.RangeValueFilterRule<System.Double> → DoubleRangeFilterRule

Constructors

DoubleRangeFilterRule() Constructor

Initializes a new instance of the DoubleRangeFilterRule class.

public DoubleRangeFilterRule();

DoubleRangeFilterRule(DoubleRangeFilterRule) Constructor

Initializes a new instance of the DoubleRangeFilterRule class by copying another instance.

public DoubleRangeFilterRule(DiGi.Typology.Classes.DoubleRangeFilterRule doubleRangeFilterRule);

Parameters

doubleRangeFilterRule DoubleRangeFilterRule

The source filter rule to copy.

DoubleRangeFilterRule(IEnumerable<Range<double>>) Constructor

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);

Parameters

ranges System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<System.Double>>

The collection of double ranges to assign.

DoubleRangeFilterRule(JsonObject) Constructor

Initializes a new instance of the DoubleRangeFilterRule class with a JSON object.

public DoubleRangeFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the double range filter rule data.

GroupValueFilterRule Class

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.ITypologyObject

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectTypologyFilterRule → 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

Constructors

GroupValueFilterRule() Constructor

Initializes a new instance of the GroupValueFilterRule class.

public GroupValueFilterRule();

GroupValueFilterRule(GroupValueFilterRule) Constructor

Initializes a new instance of the GroupValueFilterRule class by copying another instance.

public GroupValueFilterRule(DiGi.Typology.Classes.GroupValueFilterRule groupValueFilterRule);

Parameters

groupValueFilterRule GroupValueFilterRule

The source filter rule to copy.

GroupValueFilterRule(JsonObject) Constructor

Initializes a new instance of the GroupValueFilterRule class with a JSON object.

public GroupValueFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the filter rule data.

IntegerRangeFilterRule Class

Represents a typology filter rule for int range values.

public class IntegerRangeFilterRule : DiGi.Typology.Classes.RangeValueFilterRule<int>

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectTypologyFilterRuleDiGi.Typology.Classes.RangeValueFilterRule<System.Int32> → IntegerRangeFilterRule

Constructors

IntegerRangeFilterRule() Constructor

Initializes a new instance of the IntegerRangeFilterRule class.

public IntegerRangeFilterRule();

IntegerRangeFilterRule(IntegerRangeFilterRule) Constructor

Initializes a new instance of the IntegerRangeFilterRule class by copying another instance.

public IntegerRangeFilterRule(DiGi.Typology.Classes.IntegerRangeFilterRule integerRangeFilterRule);

Parameters

integerRangeFilterRule IntegerRangeFilterRule

The source filter rule to copy.

IntegerRangeFilterRule(IEnumerable<Range<int>>) Constructor

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);

Parameters

ranges System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<System.Int32>>

The collection of double ranges to assign.

IntegerRangeFilterRule(JsonObject) Constructor

Initializes a new instance of the IntegerRangeFilterRule class with a JSON object.

public IntegerRangeFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the double range filter rule data.

RangeValueFilterRule<TValueType> Class

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>

Type parameters

TValueType

The type of the range values, which must implement System.IComparable<>.

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectTypologyFilterRule → 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

Constructors

RangeValueFilterRule() Constructor

Initializes a new instance of the RangeValueFilterRule<TValueType> class.

public RangeValueFilterRule();

RangeValueFilterRule(RangeValueFilterRule<TValueType>) Constructor

Initializes a new instance of the RangeValueFilterRule<TValueType> class by copying another instance.

public RangeValueFilterRule(DiGi.Typology.Classes.RangeValueFilterRule<TValueType> rangeValueFilterRule);

Parameters

rangeValueFilterRule DiGi.Typology.Classes.RangeValueFilterRule<TValueType>

The source range filter rule to copy.

RangeValueFilterRule(IEnumerable<Range<TValueType>>) Constructor

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);

Parameters

ranges System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<TValueType>>

The collection of ranges to assign.

RangeValueFilterRule(JsonObject) Constructor

Initializes a new instance of the RangeValueFilterRule<TValueType> class with a JSON object.

public RangeValueFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the range filter rule data.

Properties

RangeValueFilterRule<TValueType>.Ranges Property

Gets or sets the collection of ranges managed by this rule.

public System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<TValueType>> Ranges { get; set; }

Property Value

System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Range<TValueType>>

Methods

RangeValueFilterRule<TValueType>.Add(Range<TValueType>) Method

Adds a range to the filter rule.

public bool Add(DiGi.Core.Classes.Range<TValueType>? range);

Parameters

range DiGi.Core.Classes.Range<TValueType>

The range to add.

Returns

System.Boolean
True if the range was successfully added; otherwise, false.

RangeValueFilterRule<TValueType>.RuleData(object) Method

Resolves the filter rule data for the specified value.

public DiGi.Typology.Classes.RangeValueRuleData<TValueType>? RuleData(object? object_Value);

Parameters

object_Value System.Object

The value to test against the ranges.

Implements RuleData(object)

Returns

DiGi.Typology.Classes.RangeValueRuleData<TValueType>
The matching range rule data, or null if no range matches.

RangeValueRuleData<TValueType> Class

Represents the resulting data for a range value rule.

public class RangeValueRuleData<TValueType> : DiGi.Typology.Classes.TypologyFilterRuleData<DiGi.Typology.Classes.RangeValueRuleData<TValueType>>

Type parameters

TValueType

The underlying type of the range values.

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectDiGi.Typology.Classes.TypologyFilterRuleData<DiGi.Typology.Classes.RangeValueRuleData<TValueType>> → RangeValueRuleData<TValueType>

Constructors

RangeValueRuleData() Constructor

Initializes a new instance of the RangeValueRuleData<TValueType> class.

public RangeValueRuleData();

RangeValueRuleData(Range<TValueType>) Constructor

Initializes a new instance of the RangeValueRuleData<TValueType> class with a specific range.

public RangeValueRuleData(DiGi.Core.Classes.Range<TValueType>? range);

Parameters

range DiGi.Core.Classes.Range<TValueType>

The range values.

RangeValueRuleData(RangeValueRuleData<TValueType>) Constructor

Initializes a new instance of the RangeValueRuleData<TValueType> class by copying another instance.

public RangeValueRuleData(DiGi.Typology.Classes.RangeValueRuleData<TValueType> rangeValueRuleData);

Parameters

rangeValueRuleData DiGi.Typology.Classes.RangeValueRuleData<TValueType>

The source range rule data to copy.

RangeValueRuleData(JsonObject) Constructor

Initializes a new instance of the RangeValueRuleData<TValueType> class with a JSON object.

public RangeValueRuleData(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing range rule data.

Methods

RangeValueRuleData<TValueType>.Equals(RangeValueRuleData<TValueType>) Method

Determines whether this instance and another specified range rule data have the same value.

public override bool Equals(DiGi.Typology.Classes.RangeValueRuleData<TValueType> rangeValueRuleData);

Parameters

rangeValueRuleData DiGi.Typology.Classes.RangeValueRuleData<TValueType>

The range rule data to compare with this instance.

Returns

System.Boolean
True if the values are equal; otherwise, false.

RangeValueRuleData<TValueType>.Equals(object) Method

Determines whether this instance and a specified object have the same value.

public override bool Equals(object? @object);

Parameters

object System.Object

The object to compare with this instance.

Returns

System.Boolean
True if the object is equal to this instance; otherwise, false.

RangeValueRuleData<TValueType>.GetHashCode() Method

Returns the hash code for this instance.

public override int GetHashCode();

Returns

System.Int32
A 32-bit signed integer hash code.

RangeValueRuleData<TValueType>.ToString() Method

Returns a string representation of the range rule data.

public override string ToString();

Returns

System.String
A string representation of the range.

Typology Class

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.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObject → Typology

Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject, System.IComparable<Typology>

Constructors

Typology(Typology) Constructor

Initializes a new instance of the Typology class by cloning an existing typology.

public Typology(DiGi.Typology.Classes.Typology? typology);

Parameters

typology Typology

The source typology object to clone.

Typology(TypologyItem) Constructor

Initializes a new instance of the Typology class with a specified typology item.

public Typology(DiGi.Typology.Classes.TypologyItem? typologyItem);

Parameters

typologyItem TypologyItem

The typology item to assign.

Typology(TypologyItem, IEnumerable<Typology>) Constructor

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);

Parameters

typologyItem TypologyItem

The typology item to assign.

subTypologies System.Collections.Generic.IEnumerable<Typology>

A collection of sub-typologies to associate with this instance.

Typology(string, string) Constructor

Initializes a new instance of the Typology class with a specified name and description.

public Typology(string? name, string? description);

Parameters

name System.String

The name of the typology.

description System.String

The description of the typology.

Typology(JsonObject) Constructor

Initializes a new instance of the Typology class from a JSON object.

public Typology(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing typology data.

Properties

Typology.Description Property

Gets or sets the description of the typology.

public string? Description { get; set; }

Implements Description

Property Value

System.String

Typology.Name Property

Gets or sets the name of the typology.

public string? Name { get; set; }

Implements Name

Property Value

System.String

Typology.References Property

Gets the list of references associated with this typology.

public System.Collections.Generic.List<string> References { get; }

Property Value

System.Collections.Generic.List<System.String>

Typology.SubTypologies Property

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; }

Property Value

System.Collections.Generic.List<Typology>

Typology.TypologyPath Property

Gets the path information for this typology.

public DiGi.Typology.Classes.TypologyPath? TypologyPath { get; }

Property Value

TypologyPath

Methods

Typology.AddReference(string) Method

Adds a reference to the typology.

public bool AddReference(string? reference);

Parameters

reference System.String

The reference string to add.

Returns

System.Boolean
True if the reference was added successfully; otherwise, false.

Typology.CompareTo(Typology) Method

Compares the current typology instance with another typology instance.

public int CompareTo(DiGi.Typology.Classes.Typology typology);

Parameters

typology Typology

The typology instance to compare against.

Returns

System.Int32
A signed integer that indicates the relative order of the objects being compared.

Typology.Contains(string, bool) Method

Determines whether the typology contains a specific reference, optionally including references from nested typologies.

public bool Contains(string reference, bool includeNested=false);

Parameters

reference System.String

The reference string to search for.

includeNested System.Boolean

A value indicating whether to include nested typologies in the search.

Returns

System.Boolean
True if the reference is found; otherwise, false.

Typology.GetReferences(bool) Method

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);

Parameters

includeNested System.Boolean

A value indicating whether to include references from nested typologies.

Returns

System.Collections.Generic.HashSet<System.String>
A System.Collections.Generic.HashSet<> containing the references.

Typology.GetTypology(TypologyPath) Method

Retrieves a typology instance based on the provided typology path.

public DiGi.Typology.Classes.Typology? GetTypology(DiGi.Typology.Classes.TypologyPath? typologyPath);

Parameters

typologyPath TypologyPath

The path used to locate the typology.

Returns

Typology
The Typology instance if found; otherwise, null.

Typology.GetTypology(IEnumerable<int>) Method

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);

Parameters

values System.Collections.Generic.IEnumerable<System.Int32>

An enumerable collection of integers representing the typology path.

Returns

Typology
The Typology instance if found; otherwise, null.

Typology.GetTypologyPaths(bool) Method

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);

Parameters

includeNested System.Boolean

A value indicating whether to recursively retrieve paths from nested typologies.

Returns

System.Collections.Generic.List<TypologyPath>
A System.Collections.Generic.List<> of TypologyPath objects, or null if no sub-typologies exist.

Typology.ToString() Method

Returns a string representation of the current typology.

public override string ToString();

Returns

System.String
A string representing the typology item or the base object string.

Typology.TryGetLastIndex(int) Method

Attempts to retrieve the last index from the sub-typologies collection.

public bool TryGetLastIndex(out int index);

Parameters

index System.Int32

When this method returns, contains the maximum index if successful; otherwise, -1.

Returns

System.Boolean
True if the last index was successfully retrieved; otherwise, false.

Typology.TryGetTypologies(TypologyPath, string, List<Typology>) Method

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);

Parameters

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.

Returns

System.Boolean
True if one or more matching typologies were found; otherwise, false.

Typology.TryGetTypologies(string, List<Typology>) Method

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);

Parameters

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.

Returns

System.Boolean
True if one or more matching typologies were found; otherwise, false.

Typology.TryGetTypologies(IEnumerable<int>, string, List<Typology>) Method

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);

Parameters

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.

Returns

System.Boolean
True if one or more matching typologies were found; otherwise, false.

Typology.Update(TypologyItem) Method

Updates the typology based on the provided typology item.

public DiGi.Typology.Classes.Typology? Update(DiGi.Typology.Classes.TypologyItem? typologyItem);

Parameters

typologyItem TypologyItem

The typology item containing updated information.

Returns

Typology
The updated Typology instance, or null if the input was null.

Typology.Update(string) Method

Updates or creates a typology using specified name at the current level.

public DiGi.Typology.Classes.Typology? Update(string? name);

Parameters

name System.String

The name of the typology.

Returns

Typology
The updated or created Typology instance, or null if update failed.

Typology.Update(string, string) Method

Updates or creates a typology using specified name and description at the current level.

public DiGi.Typology.Classes.Typology? Update(string? name, string? description);

Parameters

name System.String

The name of the typology.

description System.String

The description of the typology.

Returns

Typology
The updated or created Typology instance, or null if update failed.

Typology.Update(IEnumerable<int>, string) Method

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);

Parameters

values System.Collections.Generic.IEnumerable<System.Int32>

The sequence of indices representing the typology path.

name System.String

The name of the typology.

Returns

Typology
The updated or created Typology instance, or null if update failed.

Typology.Update(IEnumerable<int>, string, string) Method

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);

Parameters

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.

Returns

Typology
The updated or created Typology instance, or null if update failed.

TypologyFile Class

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.IObject

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectDiGi.Core.IO.File.Classes.FileDiGi.Core.IO.File.Classes.ValueFile<Typology> → TypologyFile

Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject

Constructors

TypologyFile(TypologyFile) Constructor

Initializes a new instance of the TypologyFile class based on an existing TypologyFile instance.

public TypologyFile(DiGi.Typology.Classes.TypologyFile? typologyFile);

Parameters

typologyFile TypologyFile

The source typology file to copy from.

TypologyFile(string) Constructor

Initializes a new instance of the TypologyFile class from the specified file path.

public TypologyFile(string path);

Parameters

path System.String

The path to the typology file.

TypologyFile(JsonObject) Constructor

Initializes a new instance of the TypologyFile class using a JSON object.

public TypologyFile(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing typology data.

TypologyFilter<TTypologyFilter,TValue> Class

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>

Type parameters

TTypologyFilter

The specific subclass type of the typology filter.

TValue

The type of the filter value.

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectDiGi.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

Constructors

TypologyFilter() Constructor

Initializes a new instance of the TypologyFilter<TTypologyFilter,TValue> class.

protected TypologyFilter();

TypologyFilter(TypologyFilter<TTypologyFilter,TValue>) Constructor

Initializes a new instance of the TypologyFilter<TTypologyFilter,TValue> class by copying another instance.

protected TypologyFilter(DiGi.Typology.Classes.TypologyFilter<TTypologyFilter,TValue>? typologyFilter);

Parameters

typologyFilter DiGi.Typology.Classes.TypologyFilter<TTypologyFilter,TValue>

The source filter instance to copy from.

TypologyFilter(JsonObject) Constructor

Initializes a new instance of the TypologyFilter<TTypologyFilter,TValue> class with a JSON object.

protected TypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing filter data.

Properties

TypologyFilter<TTypologyFilter,TValue>.Value Property

Gets or sets the value associated with this typology filter.

public TValue? Value { get; set; }

Implements Value

Property Value

TValue

TypologyFilter<TTypologyFilter> Class

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>

Type parameters

TTypologyFilter

The specific subclass type of the typology filter.

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.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

Constructors

TypologyFilter() Constructor

Initializes a new instance of the TypologyFilter<TTypologyFilter> class.

protected TypologyFilter();

TypologyFilter(TypologyFilter<TTypologyFilter>) Constructor

Initializes a new instance of the TypologyFilter<TTypologyFilter> class by copying another instance.

protected TypologyFilter(DiGi.Typology.Classes.TypologyFilter<TTypologyFilter>? typologyFilter_Other);

Parameters

typologyFilter_Other DiGi.Typology.Classes.TypologyFilter<TTypologyFilter>

The source filter instance to copy from.

TypologyFilter(JsonObject) Constructor

Initializes a new instance of the TypologyFilter<TTypologyFilter> class with a JSON object.

protected TypologyFilter(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing filter data.

Properties

TypologyFilter<TTypologyFilter>.Filter Property

Gets or sets the nested typology filter to apply sequentially.

public TTypologyFilter? Filter { get; set; }

Implements Filter

Property Value

TTypologyFilter

TypologyFilter<TTypologyFilter>.Rule Property

Gets or sets the rule associated with this typology filter.

public DiGi.Typology.Interfaces.ITypologyFilterRule? Rule { get; set; }

Implements Rule

Property Value

ITypologyFilterRule

TypologyFilterRule Class

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.ITypologyObject

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.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

Constructors

TypologyFilterRule() Constructor

Initializes a new instance of the TypologyFilterRule class.

public TypologyFilterRule();

TypologyFilterRule(TypologyFilterRule) Constructor

Initializes a new instance of the TypologyFilterRule class by copying another instance.

public TypologyFilterRule(DiGi.Typology.Classes.TypologyFilterRule typologyFilterRule);

Parameters

typologyFilterRule TypologyFilterRule

The source filter rule to copy from.

TypologyFilterRule(JsonObject) Constructor

Initializes a new instance of the TypologyFilterRule class with a JSON object.

public TypologyFilterRule(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing filter rule data.

TypologyFilterRuleData<TTypologyFilterRuleData> Class

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>

Type parameters

TTypologyFilterRuleData

The specific type of the typology filter rule data.

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.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>

Constructors

TypologyFilterRuleData() Constructor

Initializes a new instance of the TypologyFilterRuleData<TTypologyFilterRuleData> class.

public TypologyFilterRuleData();

TypologyFilterRuleData(TypologyFilterRuleData<TTypologyFilterRuleData>) Constructor

Initializes a new instance of the TypologyFilterRuleData<TTypologyFilterRuleData> class by copying another instance.

public TypologyFilterRuleData(DiGi.Typology.Classes.TypologyFilterRuleData<TTypologyFilterRuleData> typologyFilterRuleData);

Parameters

typologyFilterRuleData DiGi.Typology.Classes.TypologyFilterRuleData<TTypologyFilterRuleData>

The source filter rule data to copy from.

TypologyFilterRuleData(JsonObject) Constructor

Initializes a new instance of the TypologyFilterRuleData<TTypologyFilterRuleData> class with a JSON object.

public TypologyFilterRuleData(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the filter rule data.

Methods

TypologyFilterRuleData<TTypologyFilterRuleData>.Equals(TTypologyFilterRuleData) Method

Compares this filter rule data instance to another for equality.

public abstract bool Equals(TTypologyFilterRuleData typologyFilterRuleData);

Parameters

typologyFilterRuleData TTypologyFilterRuleData

The filter rule data to compare.

Implements Equals(T)

Returns

System.Boolean
True if they are equal; otherwise, false.

TypologyFilterSolver<TTypologyFilter,TObject> Class

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>

Type parameters

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

Constructors

TypologyFilterSolver() Constructor

Initializes a new instance of the TypologyFilterSolver<TTypologyFilter,TObject> class.

public TypologyFilterSolver();

TypologyFilterSolver(TTypologyFilter, IEnumerable<TObject>) Constructor

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);

Parameters

typologyFilter TTypologyFilter

The input typology filter.

objects System.Collections.Generic.IEnumerable<TObject>

The collection of source objects to evaluate.

Properties

TypologyFilterSolver<TTypologyFilter,TObject>.Input Property

Gets or sets the input typology filter used for solving.

public TTypologyFilter? Input { get; set; }

Implements Input

Property Value

TTypologyFilter

TypologyFilterSolver<TTypologyFilter,TObject>.Objects Property

Gets or sets the collection of source objects to evaluate.

public System.Collections.Generic.IEnumerable<TObject>? Objects { get; set; }

Property Value

System.Collections.Generic.IEnumerable<TObject>

TypologyFilterSolver<TTypologyFilter,TObject>.Output Property

Gets the resulting typology output from the solving process.

public DiGi.Typology.Classes.Typology? Output { get; private set; }

Implements Output

Property Value

Typology

TypologyFilterSolver<TTypologyFilter,TObject>.TypologyItem Property

Default TypologyItem for Typology root

public DiGi.Typology.Classes.TypologyItem? TypologyItem { get; set; }

Property Value

TypologyItem

Methods

TypologyFilterSolver<TTypologyFilter,TObject>.GetReference(TObject) Method

Gets a unique reference identifier string for the specified object.

protected virtual string? GetReference(TObject? @object);

Parameters

object TObject

The object to identify.

Returns

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);

Parameters

typologyFilter TTypologyFilter

The current typology filter context.

typologyFilterRuleData ITypologyFilterRuleData

The evaluated rule data.

Returns

TypologyItem
A new typology item, or null.

TypologyFilterSolver<TTypologyFilter,TObject>.GetValue(TTypologyFilter, TObject) Method

Extracts the target evaluation value from the specified object using the current filter context.

protected abstract object? GetValue(TTypologyFilter? typologyFilter, TObject? @object);

Parameters

typologyFilter TTypologyFilter

The current typology filter context.

object TObject

The object to extract the value from.

Returns

System.Object
The extracted value, or null.

TypologyFilterSolver<TTypologyFilter,TObject>.Solve() Method

Solves and populates the typology output by evaluating the input filter against the objects.

public bool Solve();

Implements Solve()

Returns

System.Boolean
True if solving succeeded; otherwise, false.

TypologyItem Class

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.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObject → TypologyItem

Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject, System.IComparable<TypologyItem>

Constructors

TypologyItem() Constructor

Initializes a new instance of the TypologyItem class.

public TypologyItem();

TypologyItem(TypologyItem) Constructor

Initializes a new instance of the TypologyItem class by cloning an existing item.

public TypologyItem(DiGi.Typology.Classes.TypologyItem? typologyItem);

Parameters

typologyItem TypologyItem

The source item to clone.

TypologyItem(TypologyPath, TypologyItem) Constructor

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);

Parameters

typologyPath TypologyPath

The path to assign to this item.

typologyItem TypologyItem

The source item to copy the name and description from.

TypologyItem(TypologyPath, string) Constructor

Initializes a new instance of the TypologyItem class using a typology path and a name.

public TypologyItem(DiGi.Typology.Classes.TypologyPath? typologyPath, string? name);

Parameters

typologyPath TypologyPath

The path associated with this item.

name System.String

The name of the item.

TypologyItem(TypologyPath, string, string) Constructor

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);

Parameters

typologyPath TypologyPath

The path associated with this item.

name System.String

The name of the item.

description System.String

The description of the item.

TypologyItem(IEnumerable<int>, string) Constructor

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);

Parameters

values System.Collections.Generic.IEnumerable<System.Int32>

The sequence of integers defining the typology path.

name System.String

The name of the item.

TypologyItem(IEnumerable<int>, string, string) Constructor

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);

Parameters

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.

TypologyItem(JsonObject) Constructor

Initializes a new instance of the TypologyItem class from a JSON object.

public TypologyItem(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing item data.

Properties

TypologyItem.Description Property

Gets or sets the description of the typology item.

public string? Description { get; set; }

Implements Description

Property Value

System.String

TypologyItem.Name Property

Gets or sets the name of the typology item.

public string? Name { get; set; }

Implements Name

Property Value

System.String

TypologyItem.TypologyPath Property

Gets the typology path associated with this item.

public DiGi.Typology.Classes.TypologyPath? TypologyPath { get; }

Property Value

TypologyPath

Methods

TypologyItem.CompareTo(TypologyItem) Method

Compares the current instance with another TypologyItem based on their paths.

public int CompareTo(DiGi.Typology.Classes.TypologyItem typologyItem);

Parameters

typologyItem TypologyItem

The item to compare with this instance.

Returns

System.Int32
A value indicating the relative order of the objects being compared.

TypologyItem.ToString() Method

Returns a string representation of the current item, typically in the format "[path] name".

public override string ToString();

Returns

System.String
A string representing the typology item.

TypologyModel Class

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.INamedObject

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectDiGi.Core.Classes.UniqueObjectDiGi.Core.Classes.GuidObjectDiGi.Core.Classes.GuidModel → TypologyModel

Implements DiGi.Typology.Interfaces.ITypologyObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.INamedObject

Constructors

TypologyModel() Constructor

Initializes a new instance of the TypologyModel class.

public TypologyModel();

TypologyModel(TypologyModel) Constructor

Initializes a new instance of the TypologyModel class by cloning an existing typology model.

public TypologyModel(DiGi.Typology.Classes.TypologyModel? typologyModel);

Parameters

typologyModel TypologyModel

The source typology model to clone.

TypologyModel(string, Typology) Constructor

Initializes a new instance of the TypologyModel class with specified name and typology.

public TypologyModel(string? name, DiGi.Typology.Classes.Typology? typology);

Parameters

name System.String

The name of the typology model.

typology Typology

The typology associated with the model.

TypologyModel(Guid, string, Typology) Constructor

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);

Parameters

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.

TypologyModel(JsonObject) Constructor

Initializes a new instance of the TypologyModel class from a JSON object.

public TypologyModel(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the model data.

Properties

TypologyModel.Name Property

Gets or sets the name of the typology model.

public string? Name { get; set; }

Implements Name

Property Value

System.String

TypologyModel.Typology Property

Gets or sets the typology associated with the model.

public DiGi.Typology.Classes.Typology? Typology { get; set; }

Property Value

Typology

TypologyPath Class

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.ObjectDiGi.Core.Classes.ObjectDiGi.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>

Constructors

TypologyPath(TypologyPath) Constructor

Initializes a new instance of the TypologyPath class by copying an existing path.

public TypologyPath(DiGi.Typology.Classes.TypologyPath? typologyPath);

Parameters

typologyPath TypologyPath

The source typology path to copy.

TypologyPath(IEnumerable<int>) Constructor

Initializes a new instance of the TypologyPath class using a collection of integer values.

public TypologyPath(System.Collections.Generic.IEnumerable<int>? values);

Parameters

values System.Collections.Generic.IEnumerable<System.Int32>

The sequence of integers representing the path.

TypologyPath(JsonObject) Constructor

Initializes a new instance of the TypologyPath class from a JSON object.

public TypologyPath(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing path data.

Properties

TypologyPath.Count Property

Gets the total number of elements in the typology path.

public int Count { get; }

Property Value

System.Int32

TypologyPath.Index Property

Gets the value of the last element in the path, or -1 if the path is empty.

public int Index { get; }

Property Value

System.Int32

TypologyPath.Parent Property

Gets the immediate parent of the current typology path.

public DiGi.Typology.Classes.TypologyPath? Parent { get; }

Property Value

TypologyPath

TypologyPath.ParentCount Property

Gets the number of ancestor levels above the current path.

public int ParentCount { get; }

Property Value

System.Int32

TypologyPath.this[int] Property

Gets the value at the specified index of the typology path.

public int this[int index] { get; }

Parameters

index System.Int32

The zero-based index of the element to get.

Property Value

System.Int32

Methods

TypologyPath.CompareTo(TypologyPath) Method

Compares the current path with another typology path.

public int CompareTo(DiGi.Typology.Classes.TypologyPath typologyPath);

Parameters

typologyPath TypologyPath

The path to compare against.

Returns

System.Int32
A value indicating whether this instance precedes, follows, or is equal to the specified path.

TypologyPath.Equals(object) Method

Determines whether the specified object is equal to the current typology path based on sequence equality.

public override bool Equals(object obj);

Parameters

obj System.Object

The object to compare with the current instance.

Returns

System.Boolean
True if the objects are equal; otherwise, false.

TypologyPath.GetEnumerator() Method

Returns an enumerator that iterates through the integer values of the path.

public System.Collections.Generic.IEnumerator<int> GetEnumerator();

Implements GetEnumerator(), GetEnumerator()

Returns

System.Collections.Generic.IEnumerator<System.Int32>
An enumerator for the sequence of integers.

TypologyPath.GetHashCode() Method

Returns a hash code for the current typology path based on its sequence of values.

public override int GetHashCode();

Returns

System.Int32
A 32-bit signed integer hash code.

TypologyPath.GetParent(int) Method

Retrieves a path representing the hierarchy up to and including the specified index.

public DiGi.Typology.Classes.TypologyPath? GetParent(int index);

Parameters

index System.Int32

The end index of the parent path.

Returns

TypologyPath
A new TypologyPath instance, or null if the index is out of range.

TypologyPath.GetTypologyPath(int, int) Method

Extracts a specific segment of the typology path.

public DiGi.Typology.Classes.TypologyPath? GetTypologyPath(int index, int count);

Parameters

index System.Int32

The starting zero-based index of the segment.

count System.Int32

The number of elements to include in the segment.

Returns

TypologyPath
A new TypologyPath containing the extracted range.

TypologyPath.GetTypologyPaths() Method

Generates a list of all ancestor paths for the current typology path.

public System.Collections.Generic.List<DiGi.Typology.Classes.TypologyPath> GetTypologyPaths();

Returns

System.Collections.Generic.List<TypologyPath>
A list containing all parent TypologyPath instances.

TypologyPath.ToString() Method

Returns a string representation of the path, with values separated by dots.

public override string ToString();

Returns

System.String
A dot-separated string of the typology path values.

Operators

TypologyPath.operator +(TypologyPath, TypologyPath) Operator

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);

Parameters

typologyPath_1 TypologyPath

The first path segment.

typologyPath_2 TypologyPath

The second path segment to append.

Returns

TypologyPath
A new TypologyPath representing the combined sequence, or null if both inputs are null.

TypologyPath.explicit operator TypologyPath(List<int>) Operator

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);

Parameters

values System.Collections.Generic.List<System.Int32>

The list of integers representing the path.

Returns

TypologyPath
A new TypologyPath instance, or null if the input is null.

TypologyPath.explicit operator List<int>(TypologyPath) Operator

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);

Parameters

typologyPath TypologyPath

The typology path to convert.

Returns

System.Collections.Generic.List<System.Int32>
A new list containing the values of the path, or null if the input is null.

UniqueValueFilterRule Class

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.ITypologyObject

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectTypologyFilterRule → 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

Methods

UniqueValueFilterRule.RuleData(object) Method

Resolves the filter rule data for the specified value.

public DiGi.Typology.Classes.UniqueValueRuleData? RuleData(object? @object);

Parameters

object System.Object

The value to wrap in unique value data.

Implements RuleData(object)

Returns

UniqueValueRuleData
A new instance of unique value rule data wrapping the value.

UniqueValueRuleData Class

Represents the resulting data for a unique value filter rule.

public class UniqueValueRuleData : DiGi.Typology.Classes.TypologyFilterRuleData<DiGi.Typology.Classes.UniqueValueRuleData>

Inheritance System.ObjectDiGi.Core.Classes.ObjectDiGi.Core.Classes.SerializableObjectDiGi.Typology.Classes.TypologyFilterRuleData<UniqueValueRuleData> → UniqueValueRuleData

Constructors

UniqueValueRuleData() Constructor

Initializes a new instance of the UniqueValueRuleData class.

public UniqueValueRuleData();

UniqueValueRuleData(UniqueValueRuleData) Constructor

Initializes a new instance of the UniqueValueRuleData class by copying another instance.

public UniqueValueRuleData(DiGi.Typology.Classes.UniqueValueRuleData uniqueValueRuleData);

Parameters

uniqueValueRuleData UniqueValueRuleData

The source unique value rule data to copy.

UniqueValueRuleData(object) Constructor

Initializes a new instance of the UniqueValueRuleData class with a specific value.

public UniqueValueRuleData(object? @object);

Parameters

object System.Object

The value to wrap.

UniqueValueRuleData(JsonObject) Constructor

Initializes a new instance of the UniqueValueRuleData class with a JSON object.

public UniqueValueRuleData(System.Text.Json.Nodes.JsonObject jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing unique value rule data.

Methods

UniqueValueRuleData.Equals(UniqueValueRuleData) Method

Determines whether this instance and another specified unique value rule data have the same value.

public override bool Equals(DiGi.Typology.Classes.UniqueValueRuleData uniqueValueRuleData);

Parameters

uniqueValueRuleData UniqueValueRuleData

The unique value rule data to compare with this instance.

Returns

System.Boolean
True if they are equal; otherwise, false.

UniqueValueRuleData.Equals(object) Method

Determines whether this instance and a specified object have the same value.

public override bool Equals(object? @object);

Parameters

object System.Object

The object to compare with this instance.

Returns

System.Boolean
True if the object is equal to this instance; otherwise, false.

UniqueValueRuleData.GetHashCode() Method

Returns the hash code for this instance.

public override int GetHashCode();

Returns

System.Int32
A 32-bit signed integer hash code.

UniqueValueRuleData.ToString() Method

Returns a string representation of the unique value rule data.

public override string ToString();

Returns

System.String
A string representation of the value.

Clone this wiki locally