Class RemoveUnusedShapes
java.lang.Object
software.amazon.smithy.build.transforms.ConfigurableProjectionTransformer<T>
software.amazon.smithy.build.transforms.RemoveUnusedShapes
- All Implemented Interfaces:
ProjectionTransformer
removeUnusedShapes removes shapes from the model that are not
connected to any service shape.
Shapes from the prelude *are* removed if they are not referenced as part of a model.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classremoveUnusedShapesconfiguration settings. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetAdditionalProjections(TransformContext context) Allows the composition of projections by returning additional projections to run after the current one.Gets the configuration class type.getName()Gets the name of the transformer.transform(TransformContext context) Transforms the given model using the providedTransformContext.protected ModeltransformWithConfig(TransformContext context, RemoveUnusedShapes.Config config) Executes the transform using the deserialized configuration object.Methods inherited from class software.amazon.smithy.build.transforms.ConfigurableProjectionTransformer
getAdditionalProjectionsFunction
-
Constructor Details
-
RemoveUnusedShapes
public RemoveUnusedShapes()
-
-
Method Details
-
getConfigType
Description copied from class:ConfigurableProjectionTransformerGets the configuration class type.The referenced
configTypeclass must be a public POJO with a public, zero-arg constructor, getters, and setters. If the POJO has a public staticfromNodemethod, it will be invoked and is expected to deserialize the Node. If the POJO has a public staticbuildermethod, it will be invoked, setters will be called on the builder POJO, and finally the result of calling thebuildmethod is used as the configuration type. Finally, the deserializer will attempt to create the type and call setters on the instantiated object that correspond to property names (either named "set" + property name, or just property name).- Specified by:
getConfigTypein classConfigurableProjectionTransformer<RemoveUnusedShapes.Config>- Returns:
- Returns the configuration class (a POJO with setters/getters).
-
getName
Description copied from interface:ProjectionTransformerGets the name of the transformer.- Returns:
- Returns the name (e.g., "traits").
-
getBackwardCompatibleNameMapping
-
transformWithConfig
Description copied from class:ConfigurableProjectionTransformerExecutes the transform using the deserialized configuration object.- Specified by:
transformWithConfigin classConfigurableProjectionTransformer<RemoveUnusedShapes.Config>- Parameters:
context- Transform context.config- Deserialized configuration object.- Returns:
- Returns the transformed model.
-
transform
Description copied from interface:ProjectionTransformerTransforms the given model using the providedTransformContext.- Specified by:
transformin interfaceProjectionTransformer- Overrides:
transformin classConfigurableProjectionTransformer<T>- Parameters:
context- Transformation context.- Returns:
- Returns the created transformer.
-
getAdditionalProjections
Description copied from interface:ProjectionTransformerAllows the composition of projections by returning additional projections to run after the current one.- Specified by:
getAdditionalProjectionsin interfaceProjectionTransformer- Overrides:
getAdditionalProjectionsin classConfigurableProjectionTransformer<T>- Parameters:
context- Transformation context.- Returns:
- a collection of named projections to run.
-