-
Notifications
You must be signed in to change notification settings - Fork 0
DiGi.Core.IO.Table.Interfaces
Defines the contract for a column in a table.
public interface IColumn : DiGi.Core.IO.Table.Interfaces.ITableSerializableObject, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObjectDerived
↳ Column
↳ ExtendedColumn
↳ IExtendedColumn
Implements ITableSerializableObject, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObject
Gets or sets the index of the column.
int Index { get; set; }Gets the data type of the column.
System.Type? Type { get; }Tries to get a valid value for this column from the input object.
bool TryGetValidValue(object? @in, out object? @out, bool tryConvert=true);The input value to validate or convert.
out System.Object
The validated and potentially converted output value.
tryConvert System.Boolean
Whether to attempt conversion if the type doesn't match.
System.Boolean
True if a valid value was obtained, false otherwise.
Defines an extended column in a table with additional metadata such as category and description.
public interface IExtendedColumn : DiGi.Core.IO.Table.Interfaces.IColumn, DiGi.Core.IO.Table.Interfaces.ITableSerializableObject, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObjectDerived
↳ ExtendedColumn
Implements IColumn, ITableSerializableObject, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject
Gets the category of the column.
string? Category { get; }Defines the contract for a row in a table.
public interface IRow : DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObjectDerived
↳ Row<TRow>
↳ IRow<TRow>
Implements ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject
Gets the index of the row.
int Index { get; }Gets the set of indexes associated with this row.
System.Collections.Generic.HashSet<int> Indexes { get; }System.Collections.Generic.HashSet<System.Int32>
Gets or sets the value at the specified index.
object? this[int index] { get; set; }index System.Int32
The index of the value.
Gets all values in the row as an array.
object?[] GetValues();System.Object[]
An array containing all values of the row.
Removes the value at the specified index.
bool RemoveValue(int index);index System.Int32
The index of the value to remove.
System.Boolean
True if the value was removed, false otherwise.
Tries to get the value at the specified index as a specific type.
bool TryGetValue<T>(int index, out T? value);T
The type of the value.
index System.Int32
The index of the value.
value T
The retrieved value, or default if not found or wrong type.
System.Boolean
True if the value was successfully retrieved, false otherwise.
Defines a generic contract for a row that supports cloning.
public interface IRow<out TRow> : DiGi.Core.IO.Table.Interfaces.IRow, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ICloneableObject<TRow>, DiGi.Core.Interfaces.ICloneableObject
where TRow : DiGi.Core.IO.Table.Interfaces.IRow<TRow>TRow
Derived
↳ Row<TRow>
Implements IRow, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ICloneableObject<TRow>, DiGi.Core.Interfaces.ICloneableObject
Defines the contract for a table object.
public interface ITable : DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObjectDerived
↳ Table<TColumn,TRow>
↳ ITable<UColumn,URow>
Implements ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject
Defines the contract for a table with specified column and row types.
public interface ITable<UColumn,URow> : DiGi.Core.IO.Table.Interfaces.ITable, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, System.Collections.Generic.IEnumerable<URow>, System.Collections.IEnumerable
where UColumn : DiGi.Core.IO.Table.Interfaces.IColumn
where URow : DiGi.Core.IO.Table.Interfaces.IRow<URow>UColumn
URow
Derived
↳ Table<TColumn,TRow>
Implements ITable, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, System.Collections.Generic.IEnumerable<URow>, System.Collections.IEnumerable
Gets the columns of the table.
System.Collections.Generic.IEnumerable<UColumn> Columns { get; }System.Collections.Generic.IEnumerable<UColumn>
Gets the rows of the table.
System.Collections.Generic.IEnumerable<URow> Rows { get; }System.Collections.Generic.IEnumerable<URow>
Adds a column to the table.
UColumn? AddColumn(UColumn? column);column UColumn
The column to add.
UColumn
The added column, or null if it could not be added.
Adds a row to the table using the specified values.
URow? AddRow(System.Collections.Generic.IEnumerable<object?>? values);values System.Collections.Generic.IEnumerable<System.Object>
The values for the new row.
URow
The added row, or null if it could not be added.
Defines a base contract for table-related objects.
public interface ITableObject : DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObjectDerived
↳ Column
↳ ExtendedColumn
↳ Row<TRow>
↳ Table<TColumn,TRow>
↳ IColumn
↳ IExtendedColumn
↳ IRow
↳ IRow<TRow>
↳ ITable
↳ ITable<UColumn,URow>
↳ ITableSerializableObject
Implements DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject
Defines a contract for table objects that can be serialized.
public interface ITableSerializableObject : DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectDerived
↳ Column
↳ ExtendedColumn
↳ IColumn
↳ IExtendedColumn
Implements ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject