Class IncludeTraitsByTag
java.lang.Object
software.amazon.smithy.build.transforms.ConfigurableProjectionTransformer<T>
software.amazon.smithy.build.transforms.IncludeTraitsByTag
- All Implemented Interfaces:
ProjectionTransformer
includeTraitsByTag
removes trait definitions from a model if
the definition does not contain at least one of the provided tags
.
This transformer does not remove prelude traits.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
includeTraitsByTag
configuration settings. -
Constructor Summary
-
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 Model
transformWithConfig
(TransformContext context, IncludeTraitsByTag.Config config) Executes the transform using the deserialized configuration object.Methods inherited from class software.amazon.smithy.build.transforms.ConfigurableProjectionTransformer
getAdditionalProjectionsFunction
-
Constructor Details
-
IncludeTraitsByTag
public IncludeTraitsByTag()
-
-
Method Details
-
getConfigType
Description copied from class:ConfigurableProjectionTransformer
Gets the configuration class type.The referenced
configType
class must be a public POJO with a public, zero-arg constructor, getters, and setters. If the POJO has a public staticfromNode
method, it will be invoked and is expected to deserialize the Node. If the POJO has a public staticbuilder
method, it will be invoked, setters will be called on the builder POJO, and finally the result of calling thebuild
method 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:
getConfigType
in classConfigurableProjectionTransformer<IncludeTraitsByTag.Config>
- Returns:
- Returns the configuration class (a POJO with setters/getters).
-
getName
Description copied from interface:ProjectionTransformer
Gets the name of the transformer.- Returns:
- Returns the name (e.g., "traits").
-
transformWithConfig
Description copied from class:ConfigurableProjectionTransformer
Executes the transform using the deserialized configuration object.- Specified by:
transformWithConfig
in classConfigurableProjectionTransformer<IncludeTraitsByTag.Config>
- Parameters:
context
- Transform context.config
- Deserialized configuration object.- Returns:
- Returns the transformed model.
-
transform
Description copied from interface:ProjectionTransformer
Transforms the given model using the providedTransformContext
.- Specified by:
transform
in interfaceProjectionTransformer
- Overrides:
transform
in classConfigurableProjectionTransformer<T>
- Parameters:
context
- Transformation context.- Returns:
- Returns the created transformer.
-
getAdditionalProjections
Description copied from interface:ProjectionTransformer
Allows the composition of projections by returning additional projections to run after the current one.- Specified by:
getAdditionalProjections
in interfaceProjectionTransformer
- Overrides:
getAdditionalProjections
in classConfigurableProjectionTransformer<T>
- Parameters:
context
- Transformation context.- Returns:
- a collection of named projections to run.
-