Class FlattenNamespaces
- java.lang.Object
-
- software.amazon.smithy.build.transforms.ConfigurableProjectionTransformer<FlattenNamespaces.Config>
-
- software.amazon.smithy.build.transforms.FlattenNamespaces
-
- All Implemented Interfaces:
ProjectionTransformer
public final class FlattenNamespaces extends ConfigurableProjectionTransformer<FlattenNamespaces.Config>
flattenNamespacesupdates a model by flattening the namespaces of shapes connected to a service into a single, target namespace. When configuring the transformer, a service and target namespace must be specified. Optionally, tags can be specified for including any additional shapes that should be flattened into the the target namespace. Any shape from outside the service closure that is included via the application of a tag will not be included if it conflicts with a shape in the service closure.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFlattenNamespaces.ConfigflattenNamespacesconfiguration settings.
-
Constructor Summary
Constructors Constructor Description FlattenNamespaces()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<FlattenNamespaces.Config>getConfigType()Gets the configuration class type.java.lang.StringgetName()Gets the name of the transformer.protected ModeltransformWithConfig(TransformContext context, FlattenNamespaces.Config config)Executes the transform using the deserialized configuration object.-
Methods inherited from class software.amazon.smithy.build.transforms.ConfigurableProjectionTransformer
transform
-
-
-
-
Method Detail
-
getConfigType
public java.lang.Class<FlattenNamespaces.Config> 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<FlattenNamespaces.Config>- Returns:
- Returns the configuration class (a POJO with setters/getters).
-
transformWithConfig
protected Model transformWithConfig(TransformContext context, FlattenNamespaces.Config config)
Description copied from class:ConfigurableProjectionTransformerExecutes the transform using the deserialized configuration object.- Specified by:
transformWithConfigin classConfigurableProjectionTransformer<FlattenNamespaces.Config>- Parameters:
context- Transform context.config- Deserialized configuration object.- Returns:
- Returns the transformed model.
-
getName
public java.lang.String getName()
Description copied from interface:ProjectionTransformerGets the name of the transformer.- Returns:
- Returns the name (e.g., "traits").
-
-