Package software.amazon.smithy.build
Class TransformContext
- java.lang.Object
-
- software.amazon.smithy.build.TransformContext
-
- All Implemented Interfaces:
ToSmithyBuilder<TransformContext>
public final class TransformContext extends java.lang.Object implements ToSmithyBuilder<TransformContext>
Context object used when applying aProjectionTransformer
.Implementer's note: A context object is used to allow contextual information provided to projection transforms to evolve over time.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TransformContext.Builder
Builds aTransformContext
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static TransformContext.Builder
builder()
Model
getModel()
Gets the model to transform.java.util.Optional<Model>
getOriginalModel()
Get the original model before applying the projection.java.util.List<ValidationEvent>
getOriginalModelValidationEvents()
Gets an immutable list ofValidationEvent
s that were encountered when loading the source model.java.lang.String
getProjectionName()
Gets the name of the projection being applied.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.ModelTransformer
getTransformer()
Gets theModelTransformer
that has been configured to aid in the transformation.TransformContext.Builder
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
-
-
-
Method Detail
-
builder
public static TransformContext.Builder builder()
- Returns:
- Returns a TransformContext builder.
-
toBuilder
public TransformContext.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 interfaceToSmithyBuilder<TransformContext>
- Returns:
- a builder for type T
-
getSettings
public ObjectNode getSettings()
Gets the arguments object of the transform.- Returns:
- Returns the transformer arguments.
-
getModel
public Model getModel()
Gets the model to transform.- Returns:
- Returns the model to transform.
-
getOriginalModel
public java.util.Optional<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 ModelTransformer getTransformer()
Gets theModelTransformer
that has been configured to aid in the transformation.- Returns:
- Returns the model transformer.
-
getOriginalModelValidationEvents
public java.util.List<ValidationEvent> getOriginalModelValidationEvents()
Gets an immutable list ofValidationEvent
s that were encountered when loading the source model.- Returns:
- Returns the encountered validation events.
-
-