Skip to main content

CkTypeAttributeGraph

Namespace: Meshmakers.Octo.ConstructionKit.Contracts.DependencyGraph

Represents a construction kit attribute of a type, record or association role in the dependency graph

public class CkTypeAttributeGraph

Inheritance Object → CkTypeAttributeGraph

Properties​

CkAttributeId​

Gets or sets the CK attribute id.

public CkId<CkAttributeId> CkAttributeId { get; }

Property Value​

CkId<CkAttributeId>

AttributeName​

Gets or sets the name of the attribute.

public string AttributeName { get; }

Property Value​

String

AutoCompleteValues​

Gets or sets a list of values that are used for auto completion.

public IReadOnlyCollection<object> AutoCompleteValues { get; }

Property Value​

IReadOnlyCollection<Object>

AutoIncrementReference​

If auto completion is enabled, this property defines the attribute that is used as a reference for the auto completion values.

public string AutoIncrementReference { get; }

Property Value​

String

ValueType​

Value type of the attribute

public AttributeValueTypesDto ValueType { get; }

Property Value​

AttributeValueTypesDto

ValueCkRecordId​

Defines the record of the attribute if the value type is a model.

public CkId<CkRecordId> ValueCkRecordId { get; }

Property Value​

CkId<CkRecordId>

ValueCkEnumId​

Defines the record of the attribute if the value type is a model.

public CkId<CkEnumId> ValueCkEnumId { get; }

Property Value​

CkId<CkEnumId>

DefaultValues​

Default value of the attribute

public ICollection<object> DefaultValues { get; }

Property Value​

ICollection<Object>

Ownership​

EFFECTIVE ownership of this attribute assignment (AB#5187): the assignment's CkTypeAttributeDto.Ownership override when declared, otherwise the attribute definition's CkAttributeGraph.Ownership. This is the value both consumers read — upsert preservation and ExportRt exclusion — each through its own predicate.

public AttributeOwnershipDto Ownership { get; set; }

Property Value​

AttributeOwnershipDto

Remarks:

A AttributeValueTypesDto.Secret attribute is always AttributeOwnershipDto.Secret (AB#5528): the setter coerces any other value, so neither an unset ownership nor a stale cache entry can turn a credential into a seed-owned, exported value. The compiler reports a declared non-Secret ownership on a Secret attribute as an error.

IsRuntimeState​

DEPRECATED mirror of CkTypeAttributeGraph.Ownership meaning "preserved on Upsert". Kept for the JSON cache wire format and for consumers that pre-date AB#5187. NOTE it is NOT the export predicate any more: a AttributeOwnershipDto.TenantOwned attribute mirrors as true here and is still exported. Use AttributeOwnership.IsExcludedFromExport(AttributeOwnershipDto) for that question.

public bool IsRuntimeState { get; }

Property Value​

Boolean

IsOptional​

If true, the attribute is optional, that means it can be null

public bool IsOptional { get; }

Property Value​

Boolean

MetaData​

Optional meta data of the attribute

public ICollection<CkAttributeMetaDataDto> MetaData { get; }

Property Value​

ICollection<CkAttributeMetaDataDto>

Description​

An optional description of the attribute

public string Description { get; }

Property Value​

String

Constructors​

CkTypeAttributeGraph(CkId<CkAttributeId>, CkTypeAttributeDto, CkAttributeGraph)​

Creates a new instance of CkTypeAttributeGraph.

public CkTypeAttributeGraph(CkId<CkAttributeId> ckAttributeId, CkTypeAttributeDto ckTypeAttributeDto, CkAttributeGraph ckAttributeGraph)

Parameters​

ckAttributeId CkId<CkAttributeId>

ckTypeAttributeDto CkTypeAttributeDto

ckAttributeGraph CkAttributeGraph

CkTypeAttributeGraph(CkId<CkAttributeId>, String, IReadOnlyCollection<Object>, AttributeValueTypesDto, CkId<CkRecordId>, CkId<CkEnumId>, String, ICollection<CkAttributeMetaDataDto>, ICollection<Object>, Boolean, String, Boolean)​

Creates a new instance of CkTypeAttributeGraph.

public CkTypeAttributeGraph(CkId<CkAttributeId> ckAttributeId, string attributeName, IReadOnlyCollection<object> autoCompleteValues, AttributeValueTypesDto valueType, CkId<CkRecordId> valueCkRecordId, CkId<CkEnumId> valueCkEnumId, string autoIncrementReference, ICollection<CkAttributeMetaDataDto> metaData, ICollection<object> defaultValues, bool isOptional, string description, bool isRuntimeState)

Parameters​

ckAttributeId CkId<CkAttributeId>

attributeName String

autoCompleteValues IReadOnlyCollection<Object>

valueType AttributeValueTypesDto

valueCkRecordId CkId<CkRecordId>

valueCkEnumId CkId<CkEnumId>

autoIncrementReference String

metaData ICollection<CkAttributeMetaDataDto>

defaultValues ICollection<Object>

isOptional Boolean

description String

isRuntimeState Boolean
DEPRECATED alias for CkTypeAttributeGraph.Ownership, kept so CK caches and callers that pre-date AB#5187 keep working: it seeds CkTypeAttributeGraph.Ownership, and a deserialized ownership key, when present, then overwrites it. Trailing + defaulted so existing positional callers (e.g. the mesh-adapter SDK tests that build a CkTypeAttributeGraph directly) compile unchanged. STJ binds the constructor by parameter name, so the JSON wire format is unaffected.