Class ArtifactDefinitions

java.lang.Object
software.amazon.smithy.codegen.core.trace.ArtifactDefinitions
All Implemented Interfaces:
ToNode, ToSmithyBuilder<ArtifactDefinitions>

public final class ArtifactDefinitions extends Object implements ToNode, ToSmithyBuilder<ArtifactDefinitions>
Class that defines the acceptable values that can be used in ShapeLink objects.
  • Field Details

  • Method Details

    • fromNode

      public static ArtifactDefinitions fromNode(Node value)
      Converts an ObjectNode that represents the definitions section of the trace file into a types maps and tags map.
      Parameters:
      value - ObjectNode that contains the JSON data inside the definitions tag of the trace file
      Returns:
      an ArtifactDefinitions object created from the ObjectNode.
    • builder

      public static ArtifactDefinitions.Builder builder()
    • toNode

      public ObjectNode toNode()
      Converts the types and tags Maps into a single ObjectNode.
      Specified by:
      toNode in interface ToNode
      Returns:
      an ObjectNode that contains two ObjectNode children; one contains the tag map structure the other contains the type map structure.
    • getTags

      public Map<String,String> getTags()
      Gets this Definition's Tags Map. The tags Map defines the set of tags that can be used in a ShapeLink object. Each key is the name of the tag, and each value is the description of the tag. Tags are used to provide semantics to links. Tools that evaluate trace models use these tags to inform their analysis. For example, a tag for an AWS SDK code generator could be "requestBuilder" to indicate that a class is used as a builder for a request.
      Returns:
      this Definition's Tags Map
    • getTypes

      public Map<String,String> getTypes()
      Gets this Definition's Types Map. The types Map defines the set of types that can be used in a ShapeLink object. Each key is the name of the type, and each value is a description of the type. For programming languages, these types represent language-specific components. For example, in Java, types should map to the possible values of ElementType.
      Returns:
      this Definition's Type's Map
    • toBuilder

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