public final class RemoveUnusedShapes extends ConfigurableProjectionTransformer<T>
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.
Modifier and Type | Class and Description |
---|---|
static class |
RemoveUnusedShapes.Config
removeUnusedShapes configuration settings. |
Constructor and Description |
---|
RemoveUnusedShapes() |
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.String |
getBackwardCompatibleNameMapping()
Gets the name that "__args" is to be rewritten to.
|
java.lang.Class<RemoveUnusedShapes.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 . |
protected Model |
transformWithConfig(TransformContext context,
RemoveUnusedShapes.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<RemoveUnusedShapes.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<RemoveUnusedShapes.Config>
public java.lang.String getName()
ProjectionTransformer
public java.lang.String getBackwardCompatibleNameMapping()
protected Model transformWithConfig(TransformContext context, RemoveUnusedShapes.Config config)
ConfigurableProjectionTransformer
transformWithConfig
in class ConfigurableProjectionTransformer<RemoveUnusedShapes.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.