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.util.List<software.amazon.smithy.model.validation.ValidationEvent> getOriginalModelValidationEvents()
      Gets an immutable list of ValidationEvents that were encountered when loading the source model.
      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.
      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.
      • getOriginalModelValidationEvents

        public java.util.List<software.amazon.smithy.model.validation.ValidationEvent> getOriginalModelValidationEvents()
        Gets an immutable list of ValidationEvents that were encountered when loading the source model.
        Returns:
        Returns the encountered validation events.