-
Notifications
You must be signed in to change notification settings - Fork 0
DiGi.Core.Relation.Interfaces
Defines the contract for a bidirectional relation between unique objects.
public interface IBidirectionalRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ OneToManyBidirectionalRelation<From,To>
↳ OneToOneBidirectionalRelation<From,To>
↳ IBidirectionalRelation<X,Y>
Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
Defines the contract for a bidirectional relation between two types of unique objects.
public interface IBidirectionalRelation<X,Y> : DiGi.Core.Relation.Interfaces.IBidirectionalRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<X, Y>
where X : DiGi.Core.Interfaces.IUniqueObject
where Y : DiGi.Core.Interfaces.IUniqueObjectX
Y
Derived
↳ OneToManyBidirectionalRelation<From,To>
↳ OneToOneBidirectionalRelation<From,To>
Implements IBidirectionalRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<X,Y>
Defines the contract for a directional relation between unique objects.
public interface IDirectionalRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
↳ OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>
↳ IDirectionalRelation<XUniqueObject,YUniqueObject>
Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
Defines the contract for a directional relation between two types of unique objects.
public interface IDirectionalRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IDirectionalRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
where YUniqueObject : DiGi.Core.Interfaces.IUniqueObjectXUniqueObject
The type of the source unique object.
YUniqueObject
The type of the target unique object.
Derived
↳ OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
↳ OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>
Implements IDirectionalRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>
Defines the contract for a many-to-many relationship between unique objects.
public interface IManyToManyRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ ManyToManyRelation<From,To>
↳ IManyToManyRelation<XUniqueObject,YUniqueObject>
Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
Gets a list of unique references on the "from" side of the relation.
System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_From { get; }System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>
Gets a list of unique references on the "to" side of the relation.
System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_To { get; }System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>
Defines the contract for a many-to-many relationship between two types of unique objects.
public interface IManyToManyRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IManyToManyRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
where YUniqueObject : DiGi.Core.Interfaces.IUniqueObjectXUniqueObject
YUniqueObject
Derived
↳ ManyToManyRelation<From,To>
Implements IManyToManyRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>
Defines the contract for a many-to-one relationship between unique objects.
public interface IManyToOneRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ ManyToOneRelation<From,To>
↳ IManyToOneRelation<XUniqueObject,YUniqueObject>
Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
Gets a list of unique references on the "from" side of the relation.
System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_From { get; }System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>
Gets the unique reference on the "to" side of the relation.
DiGi.Core.Interfaces.IUniqueReference? UniqueReference_To { get; }DiGi.Core.Interfaces.IUniqueReference
Defines the contract for a many-to-one relationship between two types of unique objects.
public interface IManyToOneRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IManyToOneRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
where YUniqueObject : DiGi.Core.Interfaces.IUniqueObjectXUniqueObject
YUniqueObject
Derived
↳ ManyToOneRelation<From,To>
Implements IManyToOneRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>
Defines the contract for a one-to-many relationship between unique objects.
public interface IOneToManyRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ OneToManyRelation<From,To>
↳ IOneToManyRelation<XUniqueObject,YUniqueObject>
Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
Gets a list of unique references on the "to" side of the relation.
System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences_To { get; }System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>
Gets the unique reference on the "from" side of the relation.
DiGi.Core.Interfaces.IUniqueReference? UniqueReference_From { get; }DiGi.Core.Interfaces.IUniqueReference
Defines the contract for a one-to-many relationship between two types of unique objects.
public interface IOneToManyRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IOneToManyRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
where YUniqueObject : DiGi.Core.Interfaces.IUniqueObjectXUniqueObject
YUniqueObject
Derived
↳ OneToManyRelation<From,To>
Implements IOneToManyRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>
Defines the contract for a one-to-one relationship between unique objects.
public interface IOneToOneRelation : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ OneToOneRelation<From,To>
↳ IOneToOneRelation<XUniqueObject,YUniqueObject>
Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
Gets the unique reference on the "from" side of the relation.
DiGi.Core.Interfaces.IUniqueReference? UniqueReference_From { get; }DiGi.Core.Interfaces.IUniqueReference
Gets the unique reference on the "to" side of the relation.
DiGi.Core.Interfaces.IUniqueReference? UniqueReference_To { get; }DiGi.Core.Interfaces.IUniqueReference
Defines the contract for a one-to-one relationship between two types of unique objects.
public interface IOneToOneRelation<XUniqueObject,YUniqueObject> : DiGi.Core.Relation.Interfaces.IOneToOneRelation, DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject, YUniqueObject>
where XUniqueObject : DiGi.Core.Interfaces.IUniqueObject
where YUniqueObject : DiGi.Core.Interfaces.IUniqueObjectXUniqueObject
YUniqueObject
Derived
↳ OneToOneRelation<From,To>
Implements IOneToOneRelation, IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Relation.Interfaces.IRelation<XUniqueObject,YUniqueObject>
Defines the contract for a relationship between unique objects.
public interface IRelation : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectDerived
↳ ManyToManyRelation<From,To>
↳ ManyToOneRelation<From,To>
↳ OneToManyBidirectionalRelation<From,To>
↳ OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
↳ OneToManyRelation<From,To>
↳ OneToOneBidirectionalRelation<From,To>
↳ OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>
↳ OneToOneRelation<From,To>
↳ Relation
↳ Relation<From,To>
↳ IBidirectionalRelation
↳ IBidirectionalRelation<X,Y>
↳ IDirectionalRelation
↳ IDirectionalRelation<XUniqueObject,YUniqueObject>
↳ IManyToManyRelation
↳ IManyToManyRelation<XUniqueObject,YUniqueObject>
↳ IManyToOneRelation
↳ IManyToOneRelation<XUniqueObject,YUniqueObject>
↳ IOneToManyRelation
↳ IOneToManyRelation<XUniqueObject,YUniqueObject>
↳ IOneToOneRelation
↳ IOneToOneRelation<XUniqueObject,YUniqueObject>
↳ IRelation<From,To>
Implements DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
Gets a list containing all unique references in this relation.
System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>? UniqueReferences { get; }System.Collections.Generic.List<DiGi.Core.Interfaces.IUniqueReference>
Determines whether the relation contains the specified unique reference on the given side.
bool Contains(DiGi.Core.Relation.Enums.RelationSide relationSide, DiGi.Core.Interfaces.IUniqueReference? uniqueReference);relationSide RelationSide
uniqueReference DiGi.Core.Interfaces.IUniqueReference
Gets the type of the object on the specified side of the relation.
System.Type? GetType(DiGi.Core.Relation.Enums.RelationSide relationSide);relationSide RelationSide
Determines whether the relation has a reference on the specified side.
bool Has(DiGi.Core.Relation.Enums.RelationSide relationSide);relationSide RelationSide
Removes a unique reference from the specified side of the relation.
bool Remove(DiGi.Core.Relation.Enums.RelationSide relationSide, DiGi.Core.Interfaces.IUniqueReference? uniqueReference);relationSide RelationSide
uniqueReference DiGi.Core.Interfaces.IUniqueReference
Removes multiple unique references from the specified side of the relation.
System.Collections.Generic.List<TUniqueReference>? Remove<TUniqueReference>(DiGi.Core.Relation.Enums.RelationSide relationSide, System.Collections.Generic.IEnumerable<TUniqueReference>? uniqueReferences)
where TUniqueReference : DiGi.Core.Interfaces.IUniqueReference;TUniqueReference
relationSide RelationSide
uniqueReferences System.Collections.Generic.IEnumerable<TUniqueReference>
System.Collections.Generic.List<TUniqueReference>
Defines the contract for a relationship between two types of unique objects.
public interface IRelation<From,To> : DiGi.Core.Relation.Interfaces.IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
where From : DiGi.Core.Interfaces.IUniqueObject
where To : DiGi.Core.Interfaces.IUniqueObjectFrom
To
Derived
↳ ManyToManyRelation<From,To>
↳ ManyToOneRelation<From,To>
↳ OneToManyBidirectionalRelation<From,To>
↳ OneToManyDirectionalRelation<XUniqueObject,YUniqueObject>
↳ OneToManyRelation<From,To>
↳ OneToOneBidirectionalRelation<From,To>
↳ OneToOneDirectionalRelation<XUniqueObject,YUniqueObject>
↳ OneToOneRelation<From,To>
↳ Relation<From,To>
↳ IBidirectionalRelation<X,Y>
↳ IDirectionalRelation<XUniqueObject,YUniqueObject>
↳ IManyToManyRelation<XUniqueObject,YUniqueObject>
↳ IManyToOneRelation<XUniqueObject,YUniqueObject>
↳ IOneToManyRelation<XUniqueObject,YUniqueObject>
↳ IOneToOneRelation<XUniqueObject,YUniqueObject>
Implements IRelation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject