Class ChangedShape<S extends software.amazon.smithy.model.shapes.Shape>

  • Type Parameters:
    S - The type of shape. Note that this may be just Shape in the event that the shape changed classes.
    All Implemented Interfaces:
    software.amazon.smithy.model.FromSourceLocation

    public final class ChangedShape<S extends software.amazon.smithy.model.shapes.Shape>
    extends java.lang.Object
    implements software.amazon.smithy.model.FromSourceLocation
    Represents a changed shape.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.stream.Stream<software.amazon.smithy.model.traits.Trait> addedTraits()
      Gets a stream of added traits.
      java.util.stream.Stream<software.amazon.smithy.utils.Pair<software.amazon.smithy.model.traits.Trait,​software.amazon.smithy.model.traits.Trait>> changedTraits()
      Gets a stream of changed traits.
      <T extends software.amazon.smithy.model.traits.Trait>
      java.util.Optional<software.amazon.smithy.utils.Pair<T,​T>>
      getChangedTrait​(java.lang.Class<T> traitType)
      Gets a changed trait of a specific type.
      S getNewShape()
      Gets the new shape value.
      S getOldShape()
      Gets the old shape value.
      software.amazon.smithy.model.shapes.ShapeId getShapeId()
      Gets the shape ID of the changed shape.
      software.amazon.smithy.model.SourceLocation getSourceLocation()  
      java.util.Map<software.amazon.smithy.model.shapes.ShapeId,​software.amazon.smithy.utils.Pair<software.amazon.smithy.model.traits.Trait,​software.amazon.smithy.model.traits.Trait>> getTraitDifferences()
      Gets the trait differences between the old and new shape.
      java.util.stream.Stream<software.amazon.smithy.model.traits.Trait> removedTraits()
      Gets a stream of removed traits.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getOldShape

        public S getOldShape()
        Gets the old shape value.
        Returns:
        Returns the old shape.
      • getNewShape

        public S getNewShape()
        Gets the new shape value.
        Returns:
        Returns the new shape.
      • getSourceLocation

        public software.amazon.smithy.model.SourceLocation getSourceLocation()
        Specified by:
        getSourceLocation in interface software.amazon.smithy.model.FromSourceLocation
      • getShapeId

        public software.amazon.smithy.model.shapes.ShapeId getShapeId()
        Gets the shape ID of the changed shape.
        Returns:
        Return the shape ID.
      • addedTraits

        public java.util.stream.Stream<software.amazon.smithy.model.traits.Trait> addedTraits()
        Gets a stream of added traits.
        Returns:
        Returns the traits that were added.
      • removedTraits

        public java.util.stream.Stream<software.amazon.smithy.model.traits.Trait> removedTraits()
        Gets a stream of removed traits.
        Returns:
        Returns the traits that were removed.
      • changedTraits

        public java.util.stream.Stream<software.amazon.smithy.utils.Pair<software.amazon.smithy.model.traits.Trait,​software.amazon.smithy.model.traits.Trait>> changedTraits()
        Gets a stream of changed traits.
        Returns:
        Returns the traits that were changed.
      • getChangedTrait

        public <T extends software.amazon.smithy.model.traits.Trait> java.util.Optional<software.amazon.smithy.utils.Pair<T,​T>> getChangedTrait​(java.lang.Class<T> traitType)
        Gets a changed trait of a specific type.
        Type Parameters:
        T - Type of trait to find.
        Parameters:
        traitType - Type of trait to find.
        Returns:
        Returns the optionally found old and new typed trait values.
      • getTraitDifferences

        public java.util.Map<software.amazon.smithy.model.shapes.ShapeId,​software.amazon.smithy.utils.Pair<software.amazon.smithy.model.traits.Trait,​software.amazon.smithy.model.traits.Trait>> getTraitDifferences()
        Gets the trait differences between the old and new shape.

        The returned map is a mapping of a trait name to a pair in which the left side of the pair contains the nullable old trait value, and the right side of the pair contains the nullable new trait value. The left side will be null if the trait was added, the right side will be null if the trait was removed, and both traits will be present if the trait changed.

        Returns:
        Returns a map of each changed trait name to a pair of the old and new trait values.