ICkModelGraph
Namespace: Meshmakers.Octo.ConstructionKit.Contracts.DependencyGraph
Interface for a construction kit model graph.
public interface ICkModelGraph
Properties
Types
Returns the types of the graph.
public abstract IReadOnlyDictionary<CkId<CkTypeId>, CkTypeGraph> Types { get; }
Property Value
IReadOnlyDictionary<CkId<CkTypeId>, CkTypeGraph>
Attributes
Returns the attributes of the graph.
public abstract IReadOnlyDictionary<CkId<CkAttributeId>, CkAttributeGraph> Attributes { get; }
Property Value
IReadOnlyDictionary<CkId<CkAttributeId>, CkAttributeGraph>
AssociationRoles
Returns the association roles of the graph.
public abstract IReadOnlyDictionary<CkId<CkAssociationRoleId>, CkAssociationRoleGraph> AssociationRoles { get; }
Property Value
IReadOnlyDictionary<CkId<CkAssociationRoleId>, CkAssociationRoleGraph>
Records
Returns the records of the graph.
public abstract IReadOnlyDictionary<CkId<CkRecordId>, CkRecordGraph> Records { get; }
Property Value
IReadOnlyDictionary<CkId<CkRecordId>, CkRecordGraph>
Enums
Returns the enums of the graph.
public abstract IReadOnlyDictionary<CkId<CkEnumId>, CkEnumGraph> Enums { get; }
Property Value
IReadOnlyDictionary<CkId<CkEnumId>, CkEnumGraph>
TypesByRtCk
Returns the types of the graph indexed by their runtime construction kit ids.
public abstract IReadOnlyDictionary<RtCkId<CkTypeId>, CkTypeGraph> TypesByRtCk { get; }
Property Value
IReadOnlyDictionary<RtCkId<CkTypeId>, CkTypeGraph>
AttributesByRtCk
Returns the attributes of the graph indexed by their runtime construction kit ids.
public abstract IReadOnlyDictionary<RtCkId<CkAttributeId>, CkAttributeGraph> AttributesByRtCk { get; }
Property Value
IReadOnlyDictionary<RtCkId<CkAttributeId>, CkAttributeGraph>
AssociationRolesByRtCk
Returns the association roles of the graph indexed by their runtime construction kit ids.
public abstract IReadOnlyDictionary<RtCkId<CkAssociationRoleId>, CkAssociationRoleGraph> AssociationRolesByRtCk { get; }
Property Value
IReadOnlyDictionary<RtCkId<CkAssociationRoleId>, CkAssociationRoleGraph>
RecordsByRtCk
Returns the records of the graph indexed by their runtime construction kit ids.
public abstract IReadOnlyDictionary<RtCkId<CkRecordId>, CkRecordGraph> RecordsByRtCk { get; }
Property Value
IReadOnlyDictionary<RtCkId<CkRecordId>, CkRecordGraph>
EnumsByRtCk
Returns the enums of the graph indexed by their runtime construction kit ids.
public abstract IReadOnlyDictionary<RtCkId<CkEnumId>, CkEnumGraph> EnumsByRtCk { get; }
Property Value
IReadOnlyDictionary<RtCkId<CkEnumId>, CkEnumGraph>
Dependencies
Returns a list of model dependencies.
public abstract IReadOnlyDictionary<CkModelId, ICollection<CkModelId>> Dependencies { get; }
Property Value
IReadOnlyDictionary<CkModelId, ICollection<CkModelId>>
Models
Returns a list of model dependencies.
public abstract IReadOnlyDictionary<CkModelId, CkModelPropertiesDto> Models { get; }
Property Value
IReadOnlyDictionary<CkModelId, CkModelPropertiesDto>
Methods
ToCkCacheRoot()
Returns the root object of the compiled version of a CK model.
CkCacheRoot ToCkCacheRoot()
Returns
GetOrCreateAttribute(CkId<CkAttributeId>, CkAttributeDto)
Gets or creates a new attribute.
CkAttributeGraph GetOrCreateAttribute(CkId<CkAttributeId> ckAttributeId, CkAttributeDto ckAttributeDto)
Parameters
ckAttributeId CkId<CkAttributeId>
ckAttributeDto CkAttributeDto
Returns
GetOrCreateType(CkId<CkTypeId>, CkCompiledTypeDto)
Gets or creates a new type.
CkTypeGraph GetOrCreateType(CkId<CkTypeId> ckTypeId, CkCompiledTypeDto ckTypeDto)
Parameters
ckTypeId CkId<CkTypeId>
ckTypeDto CkCompiledTypeDto
Returns
GetOrCreateAssociationRole(CkId<CkAssociationRoleId>, CkAssociationRoleDto)
Gets or creates a new association role.
CkAssociationRoleGraph GetOrCreateAssociationRole(CkId<CkAssociationRoleId> ckAssociationId, CkAssociationRoleDto ckAssociationRole)
Parameters
ckAssociationId CkId<CkAssociationRoleId>
ckAssociationRole CkAssociationRoleDto
Returns
GetOrCreateRecord(CkId<CkRecordId>, CkRecordDto)
Gets or creates a new record.
CkRecordGraph GetOrCreateRecord(CkId<CkRecordId> ckRecordId, CkRecordDto ckRecordDto)
Parameters
ckRecordId CkId<CkRecordId>
ckRecordDto CkRecordDto
Returns
GetOrCreateEnum(CkId<CkEnumId>, CkEnumDto)
Gets or creates a new enum.
CkEnumGraph GetOrCreateEnum(CkId<CkEnumId> ckEnumId, CkEnumDto ckEnumDto)
Parameters
ckEnumId CkId<CkEnumId>
ckEnumDto CkEnumDto
Returns
GetOrCreateModel(CkModelId, String)
Gets or creates a new model.
CkModelPropertiesDto GetOrCreateModel(CkModelId ckModelId, string description)
Parameters
ckModelId CkModelId
description String
Returns
AppendModel(CkCompiledModelRoot)
Appends the model elements of the given ckCompiledModelRoot to this instance.
void AppendModel(CkCompiledModelRoot ckCompiledModelRoot)
Parameters
ckCompiledModelRoot CkCompiledModelRoot
The compiled model root to append
GetTypes()
Gets all Types of a given ckModelGraph
IEnumerable<CkTypeGraph> GetTypes()
Returns
GetAttributes()
Gets all Attributes of a given ckModelGraph
IEnumerable<CkAttributeGraph> GetAttributes()
Returns
GetEnums()
Gets all Enums of a given ckModelGraph
IEnumerable<CkEnumGraph> GetEnums()
Returns
GetRecords()
Gets all Records of a given ckModelGraph
IEnumerable<CkRecordGraph> GetRecords()
Returns
GetAssociationRoles()
Gets all AssociationRoles of a given ckModelGraph
IEnumerable<CkAssociationRoleGraph> GetAssociationRoles()
Returns
IEnumerable<CkAssociationRoleGraph>
GetCkTypeQueryColumnPaths(CkId<CkTypeId>, CkTypeQueryColumnOptions)
Returns a list of all query column attribute paths for the given construction kit type
IReadOnlyCollection<CkTypeQueryColumn> GetCkTypeQueryColumnPaths(CkId<CkTypeId> ckTypeId, CkTypeQueryColumnOptions options)
Parameters
ckTypeId CkId<CkTypeId>
options CkTypeQueryColumnOptions
Returns
IReadOnlyCollection<CkTypeQueryColumn>
GetCkTypeQueryColumnPathsByRtCkId(RtCkId<CkTypeId>, CkTypeQueryColumnOptions)
Returns a list of all query column attribute paths for the given runtime construction kit type
IReadOnlyCollection<CkTypeQueryColumn> GetCkTypeQueryColumnPathsByRtCkId(RtCkId<CkTypeId> rtCkTypeId, CkTypeQueryColumnOptions options)
Parameters
rtCkTypeId RtCkId<CkTypeId>
options CkTypeQueryColumnOptions