Class CoreIntegration

  • All Implemented Interfaces:
    SmithyIntegration<TraitCodegenSettings,​TraitCodegenWriter,​TraitCodegenContext>, TraitCodegenIntegration

    public final class CoreIntegration
    extends java.lang.Object
    implements TraitCodegenIntegration
    Core integration for Trait code generation.

    This integration applies no built-in's, but decorates the Symbol provider to replace a shape symbol with a trait symbol definition if the trait has the TraitDefinition trait applied. Trait symbols are named <ShapeName>Trait and always have a definition file. This integration runs after all other integrations have finished to ensure that any other type decorators and integrations have already been applied before creating any Trait definitions from the resulting type.