Class MixinTrait

java.lang.Object
software.amazon.smithy.model.traits.AbstractTrait
software.amazon.smithy.model.traits.MixinTrait
All Implemented Interfaces:
FromSourceLocation, ToNode, ToShapeId, Trait, ToSmithyBuilder<MixinTrait>

public final class MixinTrait extends AbstractTrait implements ToSmithyBuilder<MixinTrait>
  • Field Details

    • ID

      public static final ShapeId ID
  • Method Details

    • getLocalTraits

      public Set<ShapeId> getLocalTraits()
      Gets the mixin local traits.
      Returns:
      returns the mixin local traits.
    • createNode

      protected Node createNode()
      Description copied from class: AbstractTrait
      The result of toNode is used for hashCodes and equality. Subclasses must implement createNode to turn the trait into a Node. This is then cached for subsequent retrievals.
      Specified by:
      createNode in class AbstractTrait
      Returns:
      Returns the trait as a node.
    • toBuilder

      public MixinTrait.Builder toBuilder()
      Description copied from interface: ToSmithyBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToSmithyBuilder<MixinTrait>
      Returns:
      a builder for type T
    • getNonLocalTraitsFromMap

      public static Map<ShapeId,Trait> getNonLocalTraitsFromMap(Map<ShapeId,Trait> traits)
      Helper method used to filter out non-local traits from a map of traits.

      If the map is empty or does not contain a mixin trait, then it is returned as-is. If the map does contain the mixin trait, then a new map is created that does not contain any of the localTraits specified on the trait.

      Parameters:
      traits - Traits to filter based on the localTraits property of the mixin.
      Returns:
      Returns the filtered traits.
    • builder

      public static MixinTrait.Builder builder()
      Returns:
      Returns a new MixinTrait builder.