Resolver / Model Mapping Resolver

ImplicitModelMappingResolver

class teksi_hooks.resolver.model_mapping_resolver.ImplicitModelMappingResolver(dictionary, source_identity_attribute='obj_id', canonical_identity_attribute='obj_id')[source]

Build the implicit SSOT ModelMapping from dictionary metadata.

The dictionary capability exposes source INTERLIS identifiers and their canonical TEKSI counterparts. This resolver converts those lookup records into the same ModelMapping structure used by explicit YAML mappings.

The resolved mapping is marked as SSOT because dictionary metadata describes the canonical DSS source-model correspondence.

Explicit mappings remain separate and may override or supplement this mapping through EffectiveModelMappingCapability.

Parameters:
  • dictionary (ImplicitModelMappingCapability)

  • source_identity_attribute (str)

  • canonical_identity_attribute (str)

resolve()[source]

Return the resolved implicit SSOT model mapping.

Raises

ValueError

If dictionary metadata contains empty identifiers, duplicate source definitions, or attribute mappings for unknown source classes.

Return type:

ModelMapping

Fields

dictionary

Type: ImplicitModelMappingCapability

source_identity_attribute

Type: str

canonical_identity_attribute

Type: str

ModelMappingInheritanceResolver

class teksi_hooks.resolver.model_mapping_resolver.ModelMappingInheritanceResolver(mappings)[source]

Resolve inheritance between named model mappings.

This resolver combines parsed model declarations. It does not inspect source relations and does not apply conditional defaults to concrete source classes.

Parent definitions are inherited first. Child definitions with the same key replace the corresponding parent definitions.

Parameters:

mappings (Mapping[str, ModelMapping])

resolve(model_id)[source]

Return one inheritance-resolved model mapping.

Parameters:

model_id (str)

Return type:

ModelMapping

resolve_all()[source]

Return all model mappings with inheritance resolved.

Return type:

dict[str, ModelMapping]

Fields

mappings

Type: Mapping[str, ModelMapping]