Class TransformContext

  • All Implemented Interfaces:
    software.amazon.smithy.utils.ToSmithyBuilder<TransformContext>

    public final class TransformContext
    extends java.lang.Object
    implements software.amazon.smithy.utils.ToSmithyBuilder<TransformContext>
    Context object used when applying a ProjectionTransformer.

    Implementer's note: A context object is used to allow contextual information provided to projection transforms to evolve over time.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static TransformContext.Builder builder()  
      software.amazon.smithy.model.Model getModel()
      Gets the model to transform.
      java.util.Optional<software.amazon.smithy.model.Model> getOriginalModel()
      Get the original model before applying the projection.
      java.lang.String getProjectionName()
      Gets the name of the projection being applied.
      software.amazon.smithy.model.node.ObjectNode getSettings()
      Gets the arguments object of the transform.
      java.util.Set<java.nio.file.Path> getSources()
      Gets the source models, or models that are considered the subject of the build.
      software.amazon.smithy.model.transform.ModelTransformer getTransformer()
      Gets the ModelTransformer that has been configured to aid in the transformation.
      java.util.Set<java.lang.String> getVisited()
      Gets the set of previously visited transforms.
      TransformContext.Builder toBuilder()  
      • Methods inherited from class java.lang.Object

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

      • getSettings

        public software.amazon.smithy.model.node.ObjectNode getSettings()
        Gets the arguments object of the transform.
        Returns:
        Returns the transformer arguments.
      • getModel

        public software.amazon.smithy.model.Model getModel()
        Gets the model to transform.
        Returns:
        Returns the model to transform.
      • getOriginalModel

        public java.util.Optional<software.amazon.smithy.model.Model> getOriginalModel()
        Get the original model before applying the projection.
        Returns:
        The optionally provided original model.
      • getSources

        public java.util.Set<java.nio.file.Path> getSources()
        Gets the source models, or models that are considered the subject of the build.

        This does not return an exhaustive set of model paths! There are typically two kinds of models that are added to a build: source models and discovered models. Discovered models are someone else's models. Source models are the models owned by the package being built.

        Returns:
        Returns the source models.
      • getProjectionName

        public java.lang.String getProjectionName()
        Gets the name of the projection being applied.

        If no projection could be found, "source" is assumed.

        Returns:
        Returns the explicit or assumed projection name.
      • getTransformer

        public software.amazon.smithy.model.transform.ModelTransformer getTransformer()
        Gets the ModelTransformer that has been configured to aid in the transformation.
        Returns:
        Returns the model transformer.
      • getVisited

        public java.util.Set<java.lang.String> getVisited()
        Gets the set of previously visited transforms.

        This method is used as bookkeeping for the apply plugin to detect cycles.

        Returns:
        Returns the ordered set of visited projections.