-
Notifications
You must be signed in to change notification settings - Fork 0
DiGi.Core.Interfaces
Defines a contract for a task that runs in the background.
public interface IBackgroundTask : DiGi.Core.Interfaces.IObjectDerived
↳ BackgroundTask
↳ CancelableBackgroundTask
↳ ReportableBackgroundTask<T>
↳ ICancelableBackgroundTask
↳ IReportableBackgroundTask
↳ IReportableBackgroundTask<T>
Implements IObject
Gets the current status of the background task.
DiGi.Core.Enums.BackgroundTaskStatus BackgroundTaskStatus { get; }Gets the exception that occurred during execution, if any.
System.Exception? Exception { get; }Gets the total time elapsed during execution.
System.TimeSpan ExecutionTimeSpan { get; }Gets a value indicating whether the task is currently running.
bool IsRunning { get; }Starts the execution of the background task.
void Start();Occurs when the background task has started executing.
event EventHandler? Started;Occurs just before the background task starts executing.
event EventHandler? Starting;Occurs when the background task has stopped executing.
event EventHandler? Stopped;Occurs just before the background task stops executing.
event EventHandler? Stopping;Defines a contract for a background task that can be cancelled.
public interface ICancelableBackgroundTask : DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObjectDerived
↳ CancelableBackgroundTask
↳ ReportableBackgroundTask<T>
↳ IReportableBackgroundTask
↳ IReportableBackgroundTask<T>
Implements IBackgroundTask, IObject
Gets the current cancellation status of the background task.
DiGi.Core.Enums.CancelableBackgroundTaskStatus CancelableBackgroundTaskStatus { get; }CancelableBackgroundTaskStatus
Asynchronously stops the background task.
System.Threading.Tasks.Task StopAsync();System.Threading.Tasks.Task
A task that represents the asynchronous stop operation.
Defines a contract for a worker that can be cancelled.
public interface ICancellableWorker : DiGi.Core.Interfaces.IWorkerImplements IWorker
Gets a value indicating whether a cancellation is pending.
bool CancellationPending { get; }Initiates an asynchronous cancellation of the worker's operation.
void CancelAsync();Defines a contract for objects that can be cloned.
public interface ICloneableObject : DiGi.Core.Interfaces.IObjectDerived
↳ Address
↳ Coordinates
↳ DateTimeCollection
↳ DateTimeSeries
↳ Factor
↳ GuidModel
↳ GuidObject
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ SerializableModel
↳ SerializableObject
↳ SerializableObjectListCluster<TKey_1,TKey_2,TValue>
↳ SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
↳ SerializableOptions
↳ SerializableReference
↳ SerializableResult
↳ SerializableResult<T>
↳ TypePropertyReference
↳ TypeReference
↳ UniqueExternalReference<TUniqueReference>
↳ UniqueIdObject
↳ UniqueObject
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ UniqueResult
↳ ICloneableObject<TCloneableObject>
↳ ICoordinates
↳ IGuidModel
↳ IGuidObject
↳ IGuidResult
↳ IGuidResult<T>
↳ IInstanceRelatedSerializableReference
↳ ILocation
↳ ISerializableModel
↳ ISerializableObject
↳ ISerializableOptions
↳ ISerializableReference
↳ ISerializableResult
↳ ISerializableResult<T>
↳ ITimeSeries
↳ ITypeRelatedSerializableReference
↳ IUniqueIdObject
↳ IUniqueObject
↳ IUniqueReference
↳ IUniqueResult
↳ IUniqueResult<T>
Implements IObject
Defines a generic contract for objects that can be cloned into a specific type.
public interface ICloneableObject<out TCloneableObject> : DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
where TCloneableObject : DiGi.Core.Interfaces.ICloneableObject<TCloneableObject>TCloneableObject
The type of the clone.
Derived
↳ Address
↳ Coordinates
↳ DateTimeCollection
↳ DateTimeSeries
↳ Factor
↳ GuidModel
↳ GuidObject
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ SerializableModel
↳ SerializableObject
↳ SerializableObjectListCluster<TKey_1,TKey_2,TValue>
↳ SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
↳ SerializableOptions
↳ SerializableReference
↳ SerializableResult
↳ SerializableResult<T>
↳ TypePropertyReference
↳ TypeReference
↳ UniqueExternalReference<TUniqueReference>
↳ UniqueIdObject
↳ UniqueObject
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ UniqueResult
↳ ICoordinates
↳ IGuidModel
↳ IGuidObject
↳ IGuidResult
↳ IGuidResult<T>
↳ IInstanceRelatedSerializableReference
↳ ILocation
↳ ISerializableModel
↳ ISerializableObject
↳ ISerializableOptions
↳ ISerializableReference
↳ ISerializableResult
↳ ISerializableResult<T>
↳ ITimeSeries
↳ ITypeRelatedSerializableReference
↳ IUniqueIdObject
↳ IUniqueObject
↳ IUniqueReference
↳ IUniqueResult
↳ IUniqueResult<T>
Implements ICloneableObject, IObject
Creates a clone of the current object.
TCloneableObject? Clone();TCloneableObject
A cloned instance of the object.
Defines a contract for a complex reference to an object.
public interface IComplexReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>Implements IReference, IObject, System.IEquatable<IReference>
Defines a contract for an object that represents geographic coordinates.
public interface ICoordinates : DiGi.Core.Interfaces.ILocation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ Coordinates
Implements ILocation, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Gets the latitude coordinate.
double Latitude { get; }Gets the longitude coordinate.
double Longitude { get; }Defines a contract for an object that has a description.
public interface IDescribableObject : DiGi.Core.Interfaces.IObjectImplements IObject
Gets the description of the object.
string? Description { get; }Defines a contract for a worker with determinate progress.
public interface IDeterminateWorker : DiGi.Core.Interfaces.IWorkerImplements IWorker
Gets or sets the maximum value for progress reporting.
double Maximum { get; set; }Reports progress with a numeric value.
void Report(double value);value System.Double
The current progress value.
Reports progress with a numeric value and status text.
void Report(double value, string text);value System.Double
The current progress value.
text System.String
The status text to report.
Base interface for all evaluation components.
public interface IEvaluatorDerived
↳ MultiUpdater<TValue>
↳ IOneToManySolver<TInput,TOutput>
↳ IOneToOneSolver<TInput,TOutput>
↳ ISolver
↳ IUpdater
↳ IUpdater<TValue>
↳ IValidator
↳ IValidator<T>
Defines a contract for a reference to an external object.
public interface IExternalReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>Derived
↳ ExternalReference
Implements IReference, IObject, System.IEquatable<IReference>
Defines a contract for a model that is uniquely identified by a GUID.
public interface IGuidModel : DiGi.Core.Interfaces.ISerializableModel, DiGi.Core.Interfaces.IModel, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IGuidObject, DiGi.Core.Interfaces.IUniqueObjectDerived
↳ GuidModel
Implements ISerializableModel, IModel, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IGuidObject, IUniqueObject
Defines a contract for an object uniquely identified by a GUID.
public interface IGuidObject : DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ GuidModel
↳ GuidObject
↳ IGuidModel
Implements IUniqueObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Gets the GUID of the object.
System.Guid Guid { get; }Creates a duplicate of the object with the specified GUID.
DiGi.Core.Interfaces.IGuidObject? Duplicate(System.Nullable<System.Guid> guid=null);guid System.Nullable<System.Guid>
The GUID to use for the duplicated object. If null, a new GUID is generated.
IGuidObject
A duplicated IGuidObject.
Defines a contract for a result uniquely identified by a GUID.
public interface IGuidResult : DiGi.Core.Interfaces.IUniqueResult, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObjectDerived
↳ GuidResult
Implements IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject
Defines a generic contract for a GUID-identified result containing a value of type T.
public interface IGuidResult<T> : DiGi.Core.Interfaces.IUniqueResult<T>, DiGi.Core.Interfaces.IUniqueResult, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObject
where T : DiGi.Core.Interfaces.IUniqueObjectT
The type of the GUID result value.
Implements DiGi.Core.Interfaces.IUniqueResult<T>, IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject
Defines a contract for a worker with indeterminate progress.
public interface IIndeterminateWorker : DiGi.Core.Interfaces.IWorkerImplements IWorker
Reports status text during the operation.
void Report(string text);text System.String
The status text to report.
Defines a contract for an object that contains a collection of indexed objects.
public interface IIndexedObjects : DiGi.Core.Interfaces.IObject, System.Collections.IEnumerableDerived
↳ IndexedObjects<T>
↳ IIndexedObjects<T>
Implements IObject, System.Collections.IEnumerable
Defines a generic contract for an object that contains a collection of indexed objects of type T.
public interface IIndexedObjects<T> : DiGi.Core.Interfaces.IIndexedObjects, DiGi.Core.Interfaces.IObject, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable<T>T
The type of the indexed objects.
Derived
↳ IndexedObjects<T>
Implements IIndexedObjects, IObject, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable<T>
Defines a contract for a reference related to a specific object instance.
public interface IInstanceRelatedReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>Derived
↳ UniqueExternalReference<TUniqueReference>
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ IInstanceRelatedSerializableReference
↳ IUniqueReference
Implements IReference, IObject, System.IEquatable<IReference>
Defines a contract for an instance-related reference that can be serialized.
public interface IInstanceRelatedSerializableReference : DiGi.Core.Interfaces.IInstanceRelatedReference, DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>, DiGi.Core.Interfaces.ISerializableReference, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectDerived
↳ UniqueExternalReference<TUniqueReference>
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ IUniqueReference
Implements IInstanceRelatedReference, IReference, IObject, System.IEquatable<IReference>, ISerializableReference, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Defines a contract for an object that represents a location and is serializable.
public interface ILocation : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ Address
↳ Coordinates
↳ ICoordinates
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Defines a contract for an object that represents a model.
public interface IModel : DiGi.Core.Interfaces.IObjectDerived
↳ GuidModel
↳ SerializableModel
↳ IGuidModel
↳ ISerializableModel
Implements IObject
Defines a contract for objects that have a name.
public interface INamedObject : DiGi.Core.Interfaces.IObjectImplements IObject
Gets the name of the object.
string? Name { get; }Base interface for all objects in the system.
public interface IObjectDerived
↳ Address
↳ BackgroundTask
↳ CancelableBackgroundTask
↳ Cluster<TKey_1,TKey_2,TValue>
↳ ConvertOptions
↳ Coordinates
↳ DateTimeCollection
↳ DateTimeSeries
↳ ExternalReference
↳ Factor
↳ GuidModel
↳ GuidObject
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ IndexedObjects<T>
↳ ListClusterReference<TKey_1,TKey_2>
↳ Object
↳ ObjectPath<TObjectPath>
↳ ProgressWrapper<T>
↳ ReportableBackgroundTask<T>
↳ SerializableModel
↳ SerializableObject
↳ SerializableObjectListCluster<TKey_1,TKey_2,TValue>
↳ SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
↳ SerializableOptions
↳ SerializableReference
↳ SerializableResult
↳ SerializableResult<T>
↳ TypePropertyReference
↳ TypeReference
↳ UniqueExternalReference<TUniqueReference>
↳ UniqueIdObject
↳ UniqueObject
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ UniqueResult
↳ UniqueResult<T>
↳ Value<TObject>
↳ IBackgroundTask
↳ ICancelableBackgroundTask
↳ ICloneableObject
↳ ICloneableObject<TCloneableObject>
↳ IComplexReference
↳ ICoordinates
↳ IDescribableObject
↳ IExternalReference
↳ IGuidModel
↳ IGuidObject
↳ IGuidResult
↳ IGuidResult<T>
↳ IIndexedObjects
↳ IIndexedObjects<T>
↳ IInstanceRelatedReference
↳ IInstanceRelatedSerializableReference
↳ ILocation
↳ IModel
↳ INamedObject
↳ IObjectPath
↳ IObjectPath<T>
↳ IOptions
↳ IReference
↳ IReportableBackgroundTask
↳ IReportableBackgroundTask<T>
↳ IResult
↳ IResult<T>
↳ ISerializableModel
↳ ISerializableObject
↳ ISerializableOptions
↳ ISerializableReference
↳ ISerializableResult
↳ ISerializableResult<T>
↳ ITimeSeries
↳ ITypeRelatedReference
↳ ITypeRelatedSerializableReference
↳ IUniqueIdObject
↳ IUniqueObject
↳ IUniqueReference
↳ IUniqueResult
↳ IUniqueResult<T>
↳ IValue
↳ IValue<TValue>
Defines a contract for an object that represents a path to another object.
public interface IObjectPath : DiGi.Core.Interfaces.IObjectDerived
↳ ObjectPath<TObjectPath>
↳ IObjectPath<T>
Implements IObject
Defines a generic contract for an object path of type T.
public interface IObjectPath<T> : DiGi.Core.Interfaces.IObjectPath, DiGi.Core.Interfaces.IObject
where T : DiGi.Core.Interfaces.IObjectPath<T>T
The type of the object path.
Derived
↳ ObjectPath<TObjectPath>
Implements IObjectPath, IObject
Defines a contract for a solver that takes one input and produces multiple outputs.
public interface IOneToManySolver<TInput,TOutput> : DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluatorTInput
The type of the input value.
TOutput
The type of the output values.
Implements ISolver, IEvaluator
Gets or sets the input value for the solver.
TInput? Input { set; }Gets the resulting list of output values from the solver.
System.Collections.Generic.List<TOutput>? Outputs { get; }System.Collections.Generic.List<TOutput>
Defines a contract for a solver that takes one input and produces one output.
public interface IOneToOneSolver<TInput,TOutput> : DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluatorTInput
The type of the input value.
TOutput
The type of the output value.
Implements ISolver, IEvaluator
Gets or sets the input value for the solver.
TInput? Input { set; }Gets the resulting output value from the solver.
TOutput? Output { get; }Defines a contract for an object that provides configuration options.
public interface IOptions : DiGi.Core.Interfaces.IObjectDerived
↳ ConvertOptions
↳ SerializableOptions
↳ ISerializableOptions
Implements IObject
Defines a contract for an object that serves as a reference to another object.
public interface IReference : DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>Derived
↳ ExternalReference
↳ ListClusterReference<TKey_1,TKey_2>
↳ SerializableReference
↳ TypePropertyReference
↳ TypeReference
↳ UniqueExternalReference<TUniqueReference>
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ IComplexReference
↳ IExternalReference
↳ IInstanceRelatedReference
↳ IInstanceRelatedSerializableReference
↳ ISerializableReference
↳ ITypeRelatedReference
↳ ITypeRelatedSerializableReference
↳ IUniqueReference
Implements IObject, System.IEquatable<IReference>
Defines a contract for a background task that can report progress.
public interface IReportableBackgroundTask : DiGi.Core.Interfaces.ICancelableBackgroundTask, DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObjectDerived
↳ ReportableBackgroundTask<T>
↳ IReportableBackgroundTask<T>
Implements ICancelableBackgroundTask, IBackgroundTask, IObject
Defines a generic contract for a background task that reports progress of type T.
public interface IReportableBackgroundTask<T> : DiGi.Core.Interfaces.IReportableBackgroundTask, DiGi.Core.Interfaces.ICancelableBackgroundTask, DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObjectT
The type of the progress data reported.
Derived
↳ ReportableBackgroundTask<T>
Implements IReportableBackgroundTask, ICancelableBackgroundTask, IBackgroundTask, IObject
Occurs when the progress of the background task changes.
event EventHandler<T>? ProgressChanged;Defines a contract for an object that represents the result of an operation.
public interface IResult : DiGi.Core.Interfaces.IObjectDerived
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ SerializableResult
↳ SerializableResult<T>
↳ UniqueResult
↳ UniqueResult<T>
↳ IGuidResult
↳ IGuidResult<T>
↳ IResult<T>
↳ ISerializableResult
↳ ISerializableResult<T>
↳ IUniqueResult
↳ IUniqueResult<T>
Implements IObject
Defines a generic contract for a result containing a value of type T.
public interface IResult<T> : DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObjectT
The type of the result value.
Derived
↳ UniqueResult<T>
Defines a contract for a model that can be serialized.
public interface ISerializableModel : DiGi.Core.Interfaces.IModel, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectDerived
↳ GuidModel
↳ SerializableModel
↳ IGuidModel
Implements IModel, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Defines the contract for objects that can be serialized to and from JSON.
public interface ISerializableObject : DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ Address
↳ Coordinates
↳ DateTimeCollection
↳ DateTimeSeries
↳ Factor
↳ GuidModel
↳ GuidObject
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ SerializableModel
↳ SerializableObject
↳ SerializableObjectListCluster<TKey_1,TKey_2,TValue>
↳ SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
↳ SerializableOptions
↳ SerializableReference
↳ SerializableResult
↳ SerializableResult<T>
↳ TypePropertyReference
↳ TypeReference
↳ UniqueExternalReference<TUniqueReference>
↳ UniqueIdObject
↳ UniqueObject
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ UniqueResult
↳ ICoordinates
↳ IGuidModel
↳ IGuidObject
↳ IGuidResult
↳ IGuidResult<T>
↳ IInstanceRelatedSerializableReference
↳ ILocation
↳ ISerializableModel
↳ ISerializableOptions
↳ ISerializableReference
↳ ISerializableResult
↳ ISerializableResult<T>
↳ ITimeSeries
↳ ITypeRelatedSerializableReference
↳ IUniqueIdObject
↳ IUniqueObject
↳ IUniqueReference
↳ IUniqueResult
↳ IUniqueResult<T>
Implements DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Populates the object from a JsonObject.
bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JsonObject to read values from.
System.Boolean
True if the object was successfully populated, false otherwise.
Serializes the object into a JsonObject.
System.Text.Json.Nodes.JsonObject? ToJsonObject();System.Text.Json.Nodes.JsonObject
A JsonObject representation of the object, or null if serialization fails.
Defines a contract for options that are both serializable and behave as options.
public interface ISerializableOptions : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IOptionsDerived
↳ SerializableOptions
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject, IOptions
Defines a contract for a reference object that can be serialized.
public interface ISerializableReference : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IReference, System.IEquatable<DiGi.Core.Interfaces.IReference>Derived
↳ SerializableReference
↳ TypePropertyReference
↳ TypeReference
↳ UniqueExternalReference<TUniqueReference>
↳ UniquePropertyReference<UUniquePropertyReference>
↳ UniqueReference
↳ IInstanceRelatedSerializableReference
↳ ITypeRelatedSerializableReference
↳ IUniqueReference
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject, IReference, System.IEquatable<IReference>
Defines a contract for a result object that can be serialized.
public interface ISerializableResult : DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectDerived
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ SerializableResult
↳ SerializableResult<T>
↳ UniqueResult
↳ IGuidResult
↳ IGuidResult<T>
↳ ISerializableResult<T>
↳ IUniqueResult
↳ IUniqueResult<T>
Implements IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Defines a generic contract for a serializable result containing a value of type T.
public interface ISerializableResult<T> : DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject
where T : DiGi.Core.Interfaces.ISerializableObjectT
The type of the serializable result value.
Derived
↳ SerializableResult<T>
Implements ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Defines a contract for an evaluator that solves a problem or calculates a result.
public interface ISolver : DiGi.Core.Interfaces.IEvaluatorDerived
↳ IOneToManySolver<TInput,TOutput>
↳ IOneToOneSolver<TInput,TOutput>
Implements IEvaluator
Executes the solving operation.
bool Solve();System.Boolean
True if the solver successfully found a solution, false otherwise.
Defines a contract for objects that can hold and manage metadata tag.
public interface ITaggableGets tag associated with this object.
DiGi.Core.Classes.Tag Tag { get; set; }Defines a contract for an object that contains time-series data.
public interface ITimeSeries : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ DateTimeCollection
↳ DateTimeSeries
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Retrieves the date-time stamps associated with the time series.
System.DateTime[]? GetDateTimes();System.DateTime[]
An array of DateTimes, or null if none exist.
Defines a contract for a reference related to a specific type.
public interface ITypeRelatedReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>Derived
↳ TypePropertyReference
↳ TypeReference
↳ ITypeRelatedSerializableReference
Implements IReference, IObject, System.IEquatable<IReference>
Gets the full name of the referenced type.
string? FullTypeName { get; }Defines a contract for a type-related reference that can be serialized.
public interface ITypeRelatedSerializableReference : DiGi.Core.Interfaces.ITypeRelatedReference, DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>, DiGi.Core.Interfaces.ISerializableReference, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectDerived
↳ TypePropertyReference
↳ TypeReference
Implements ITypeRelatedReference, IReference, IObject, System.IEquatable<IReference>, ISerializableReference, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Defines a contract for an object uniquely identified by an ID.
public interface IUniqueIdObject : DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ UniqueIdObject
Implements IUniqueObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Defines a contract for an object that has a unique identifier.
public interface IUniqueObject : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ GuidModel
↳ GuidObject
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ UniqueIdObject
↳ UniqueObject
↳ UniqueResult
↳ IGuidModel
↳ IGuidObject
↳ IGuidResult
↳ IGuidResult<T>
↳ IUniqueIdObject
↳ IUniqueResult
↳ IUniqueResult<T>
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Gets the unique identifier of the object.
string? UniqueId { get; }Defines a contract for a unique reference to an object.
public interface IUniqueReference : DiGi.Core.Interfaces.IInstanceRelatedSerializableReference, DiGi.Core.Interfaces.IInstanceRelatedReference, DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>, DiGi.Core.Interfaces.ISerializableReference, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectDerived
↳ UniqueExternalReference<TUniqueReference>
↳ UniqueReference
Implements IInstanceRelatedSerializableReference, IInstanceRelatedReference, IReference, IObject, System.IEquatable<IReference>, ISerializableReference, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Gets the type reference associated with this unique reference.
DiGi.Core.Classes.TypeReference? TypeReference { get; }Gets the unique identifier of the referenced object.
string? UniqueId { get; }Defines a contract for a serializable result that is uniquely identified.
public interface IUniqueResult : DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObjectDerived
↳ GuidResult
↳ GuidResult<TUniqueObject>
↳ UniqueResult
↳ IGuidResult
↳ IGuidResult<T>
↳ IUniqueResult<T>
Implements ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject
Defines a generic contract for a uniquely identified result containing a value of type T.
public interface IUniqueResult<T> : DiGi.Core.Interfaces.IUniqueResult, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObject
where T : DiGi.Core.Interfaces.IUniqueObjectT
The type of the unique result value.
Derived
↳ GuidResult<TUniqueObject>
↳ IGuidResult<T>
Implements IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject
Defines a contract for an evaluator that updates data.
public interface IUpdater : DiGi.Core.Interfaces.IEvaluatorDerived
↳ MultiUpdater<TValue>
↳ IUpdater<TValue>
Implements IEvaluator
Performs the update operation.
bool Update();System.Boolean
True if the update was successful, false otherwise.
Defines a generic contract for an updater that handles values of type TValue.
public interface IUpdater<TValue> : DiGi.Core.Interfaces.IUpdater, DiGi.Core.Interfaces.IEvaluatorTValue
The type of value to be updated.
Derived
↳ MultiUpdater<TValue>
Implements IUpdater, IEvaluator
Gets or sets the value to be used in the update operation.
TValue? Value { get; set; }Defines a contract for an evaluator that validates data.
public interface IValidator : DiGi.Core.Interfaces.IEvaluatorDerived
↳ IValidator<T>
Implements IEvaluator
Defines a generic contract for an evaluator that validates data of type T.
public interface IValidator<T> : DiGi.Core.Interfaces.IValidator, DiGi.Core.Interfaces.IEvaluatorT
The type of the data to validate.
Implements IValidator, IEvaluator
Validates the provided input.
bool Validate(T t);t T
The input to validate.
System.Boolean
True if the input is valid, false otherwise.
Defines a contract for an object that represents a value.
public interface IValue : DiGi.Core.Interfaces.IObjectDerived
↳ Value<TObject>
↳ IValue<TValue>
Implements IObject
Defines a generic contract for an object that represents a value of type TValue.
public interface IValue<TValue> : DiGi.Core.Interfaces.IValue, DiGi.Core.Interfaces.IObjectTValue
The type of the value.
Derived
↳ Value<TObject>
Gets the underlying value.
TValue? Value { get; }Retrieves the value cast to a specific type XValue.
XValue? GetValue<XValue>()
where XValue : TValue;XValue
The target type for casting.
XValue
The value cast to XValue, or null if not possible.
Defines a contract for a worker that performs an operation.
public interface IWorkerDerived
↳ ICancellableWorker
↳ IDeterminateWorker
↳ IIndeterminateWorker
Gets a value indicating whether the worker is currently busy.
bool IsBusy { get; }