Class ServiceShape

All Implemented Interfaces:
Comparable<Shape>, FromSourceLocation, ToShapeId, Tagged, ToSmithyBuilder<ServiceShape>

public final class ServiceShape extends EntityShape implements ToSmithyBuilder<ServiceShape>
Represents a service shape.
  • Method Details

    • builder

      public static ServiceShape.Builder builder()
    • toBuilder

      public ServiceShape.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<ServiceShape>
      Returns:
      a builder for type T
    • accept

      public <R> R accept(ShapeVisitor<R> visitor)
      Description copied from class: Shape
      Dispatches the shape to the appropriate ShapeVisitor method.
      Specified by:
      accept in class Shape
      Type Parameters:
      R - Return type of the accept.
      Parameters:
      visitor - ShapeVisitor to use.
      Returns:
      Returns the result.
    • asServiceShape

      public Optional<ServiceShape> asServiceShape()
      Overrides:
      asServiceShape in class Shape
      Returns:
      Optionally returns the shape as a ServiceShape.
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class EntityShape
    • getType

      public ShapeType getType()
      Description copied from class: Shape
      Gets the type of the shape.
      Specified by:
      getType in class Shape
      Returns:
      Returns the type;
    • getVersion

      public String getVersion()
      Get the version of the service. An empty string is returned if the version is undefined.
      Returns:
      The version of the service.
    • getIntroducedVersion

      public String getIntroducedVersion()
      Gets the version of the service introduced by the shape and not inherited from mixins. An empty string is returned if the version is undefined.
      Returns:
      The introduced version of the service.
    • getRename

      public Map<ShapeId,String> getRename()
      Returns:
      The rename map of the service.
    • getIntroducedRename

      public Map<ShapeId,String> getIntroducedRename()
      Gets the rename map introduced by the shape and not inherited from mixins.
      Returns:
      The introduced rename map of the service.
    • getErrors

      public List<ShapeId> getErrors()

      Gets a list of the common errors that can be encountered by every operation in the service.

      Each returned ShapeId must resolve to a StructureShape that is targeted by an error trait; however, this is only guaranteed after a model is validated.

      Returns:
      Returns the errors.
    • getIntroducedErrors

      public List<ShapeId> getIntroducedErrors()
      Gets the list of common errors introduced by the shape and not inherited from mixins. These errors can be encountered by every operation in the service. Each returned ShapeId must resolve to a StructureShape that is targeted by an error trait; however, this is only guaranteed after a model is validated.
      Returns:
      Returns the introduced service errors.
    • getContextualName

      public String getContextualName(ToShapeId shape)
      Gets the contextual name of a shape within the closure.

      If there is a rename property entry for the given shape ID, then the renamed shape name is returned. Otherwise, the name part of the given shape ID is returned, regardless of if the shape exists in the closure of the service.

      This is a mirror of ShapeId.getName(ServiceShape) that serves to make this functionality more discoverable.

      Parameters:
      shape - Shape to get the contextual name of.
      Returns:
      Returns the contextual name of the shape within the service.