public final class ExcludeTraits extends ConfigurableProjectionTransformer<T>
excludeTraits
removes trait definitions and traits from
shapes when a trait name matches any of the values given in
traits
.
Arguments that end with "#" exclude the traits of an entire
namespace. Trait shape IDs that are relative are assumed to be
part of the smithy.api
prelude namespace.
Modifier and Type | Class and Description |
---|---|
static class |
ExcludeTraits.Config
excludeTraits configuration settings. |
Constructor and Description |
---|
ExcludeTraits() |
Modifier and Type | Method and Description |
---|---|
java.util.List<java.lang.String> |
getAdditionalProjections(TransformContext context)
Allows the composition of projections by returning additional
projections to run after the current one.
|
java.lang.Class<ExcludeTraits.Config> |
getConfigType()
Gets the configuration class type.
|
java.lang.String |
getName()
Gets the name of the transformer.
|
Model |
transform(TransformContext context)
Transforms the given model using the provided
TransformContext . |
Model |
transformWithConfig(TransformContext context,
ExcludeTraits.Config config)
Executes the transform using the deserialized configuration object.
|
getAdditionalProjectionsFunction
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createServiceFactory, createServiceFactory, createServiceFactory
public java.lang.Class<ExcludeTraits.Config> getConfigType()
ConfigurableProjectionTransformer
The referenced configType
class must be a public POJO with a
public, zero-arg constructor, getters, and setters. If the POJO has a
public static fromNode
method, it will be invoked and is
expected to deserialize the Node. If the POJO has a public static
builder
method, it will be invoked, setters will be called
on the builder POJO, and finally the result of calling the
build
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).
getConfigType
in class ConfigurableProjectionTransformer<ExcludeTraits.Config>
public java.lang.String getName()
ProjectionTransformer
public Model transformWithConfig(TransformContext context, ExcludeTraits.Config config)
ConfigurableProjectionTransformer
transformWithConfig
in class ConfigurableProjectionTransformer<ExcludeTraits.Config>
context
- Transform context.config
- Deserialized configuration object.public Model transform(TransformContext context)
ProjectionTransformer
TransformContext
.transform
in interface ProjectionTransformer
transform
in class ConfigurableProjectionTransformer<T>
context
- Transformation context.public java.util.List<java.lang.String> getAdditionalProjections(TransformContext context)
ProjectionTransformer
getAdditionalProjections
in interface ProjectionTransformer
getAdditionalProjections
in class ConfigurableProjectionTransformer<T>
context
- Transformation context.