Trait

A trait helps express the semantic meaning and structural guidance. Traits are essentially a metadata's metadata. Traits can extend other traits and have a format that's easy to understand and follow. For example, the trait is.partition.format.CSV describes a data partition in CSV format and has parameters that can provide additional information, such as which character to use as a delimiter.

public class CdmTraitDefinition extends CdmObjectDefinitionBase

CdmTraitDefinition extends CdmObjectDefinition in Python.

Constructors

Name Description
CdmTraitDefinition(CdmCorpusContext, string, CdmTraitReference)
ctx: The corpus context.
name: The trait's name.
extendsTrait [optional]: The reference to the trait extended by this trait.
Initializes a new instance of the CdmTraitDefinition class.

Properties

Name Type Description
TraitName string The trait's name.
ExtendsTrait CdmTraitReference? The trait extended by this trait.
Parameters CdmCollection<CdmParameterDefinition> The trait's parameters, for holding values or settings with the trait.
Elevated bool? Denotes whether this trait is elevated. If an attribute has an elevated trait, then that trait should also be applied to the outer entity.
Ugly bool? Denotes whether the trait is user facing (false if it's user facing, true otherwise).
AssociatedProperties List<string> The trait's associated properties.

Methods

Name Description Return Type
GetName() See CdmObjectDefinition.GetName(). string
IsDerivedFrom(string, ResolveOptions) See CdmObject.IsDerivedFrom(...). bool
Copy(ResolveOptions, CdmObject) See CdmObject.Copy(...). CdmObject
Validate() See CdmObject.Validate(). bool