CkModelDependencyDto
Namespace: Meshmakers.Octo.ConstructionKit.Contracts.DataTransferObjects
A range-retaining dependency of a compiled model (CK v2, AB#5664): the declared range, preserved verbatim, and the floor, the lowest acceptable version. An installed dependency satisfies it when its version is inside CkModelDependencyDto.Range and at or above CkModelDependencyDto.Floor.
public class CkModelDependencyDto
Inheritance Object → CkModelDependencyDto
Properties
Range
The declared dependency range, e.g. System-[2.4,3.0).
public CkModelIdVersionRange Range { get; set; }
Property Value
Floor
The floor as version string, e.g. 2.4.0. Taken from the declared range lower bound, not from
the highest catalog version the model happened to be compiled against.
public string Floor { get; set; }
Property Value
UsedSurface
CK v2 (AB#4472): the elements and members of this dependency the model uses, as sorted, de-duplicated,
major-qualified, version-less ids — element level for references (System@2/Entity-1, a base type,
an implemented interface, a reused attribute definition, a record or enum value type, an association role
or target) and member level for attribute paths into an inherited dependency type
(System@2/Entity-1.Name). null when not computed (models compiled before AB#4472).
public List<string> UsedSurface { get; set; }
Property Value
UsedSurfaceHash
CK v2 (AB#4472): sha256:<hex> over CkModelDependencyDto.UsedSurface (one id per line, UTF-8). Lets a
consumer compare two surfaces without the list; the list stays authoritative.
public string UsedSurfaceHash { get; set; }
Property Value
FloorVersion
CkModelDependencyDto.Floor as CkVersion.
public CkVersion FloorVersion { get; }
Property Value
Constructors
CkModelDependencyDto()
public CkModelDependencyDto()
Methods
GetEffectiveRange()
The range a resolver must satisfy: CkModelDependencyDto.Range with its lower bound raised to CkModelDependencyDto.Floor (they are equal unless the floor was raised above the declared lower bound).
public CkModelIdVersionRange GetEffectiveRange()
Returns
IsSatisfiedBy(CkModelId)
True when installed satisfies range and floor.
public bool IsSatisfiedBy(CkModelId installed)
Parameters
installed CkModelId
Returns
ToString()
public string ToString()