Class PaginatedTrait

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

public final class PaginatedTrait extends AbstractTrait implements ToSmithyBuilder<PaginatedTrait>
Defines the pagination functionality of an operation.
See Also:
  • Field Details

    • ID

      public static final ShapeId ID
  • Method Details

    • getItems

      public Optional<String> getItems()
      Returns:
      The `items` property of the trait.
    • getInputToken

      public Optional<String> getInputToken()
      Returns:
      The `inputToken` property of the trait.
    • getOutputToken

      public Optional<String> getOutputToken()
      Returns:
      The `outputToken` property of the trait.
    • getPageSize

      public Optional<String> getPageSize()
      Returns:
      The optional `pageSize` property.
    • resolvePath

      @Deprecated public static Optional<MemberShape> resolvePath(String path, Model model, StructureShape shape)
      Deprecated.
      This method only returns the last MemberShape of an output path. To resolve each path identifier to it's respective MemberShape see resolveFullPath(java.lang.String, software.amazon.smithy.model.Model, software.amazon.smithy.model.shapes.StructureShape)
      Resolves an output path.

      A path is a series of identifiers separated by dots (`.`) where each identifier represents a member name in a structure.

      Parameters:
      path - The path to resolve.
      model - The model to be searched when resolving the path.
      shape - The shape where path resolution should start, e.g. the output shape of an operation.
      Returns:
      The optional member shape that the path resolves to.
    • resolveFullPath

      public static List<MemberShape> resolveFullPath(String path, Model model, StructureShape shape)
      Resolves an output path to a list of MemberShape.

      A path is a series of identifiers separated by dots (`.`) where each identifier represents a member name in a structure.

      Parameters:
      path - The path to resolve.
      model - The model to be searched when resolving the path.
      shape - The shape where path resolution should start, e.g. the output shape of an operation.
      Returns:
      The list of member shapes corresponding to each path identifier. An unresolvable path will be returned as an empty list.
    • merge

      public PaginatedTrait merge(PaginatedTrait other)
      Merges this paginated trait with another trait.

      Values set on this trait take precedence over values of the other trait. This operation is typically performed to merge the paginated trait of an operation with the paginated trait of a service.

      If other is null, the current trait is returned as-is.

      Parameters:
      other - Other trait to merge with.
      Returns:
      Returns a newly created trait that maintains the same source location.
    • 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 PaginatedTrait.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<PaginatedTrait>
      Returns:
      a builder for type T
    • builder

      public static PaginatedTrait.Builder builder()
      Returns:
      Returns a paginated trait builder.