Class FlattenNamespaces

All Implemented Interfaces:

public final class FlattenNamespaces extends ConfigurableProjectionTransformer<FlattenNamespaces.Config>
flattenNamespaces updates 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 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.
  • Constructor Details

    • FlattenNamespaces

      public FlattenNamespaces()
  • Method Details

    • getConfigType

      public Class<FlattenNamespaces.Config> 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 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).

      Specified by:
      getConfigType in class ConfigurableProjectionTransformer<FlattenNamespaces.Config>
      Returns the configuration class (a POJO with setters/getters).
    • transformWithConfig

      protected Model transformWithConfig(TransformContext context, FlattenNamespaces.Config config)
      Description copied from class: ConfigurableProjectionTransformer
      Executes the transform using the deserialized configuration object.
      Specified by:
      transformWithConfig in class ConfigurableProjectionTransformer<FlattenNamespaces.Config>
      context - Transform context.
      config - Deserialized configuration object.
      Returns the transformed model.
    • getName

      public String getName()
      Description copied from interface: ProjectionTransformer
      Gets the name of the transformer.
      Returns the name (e.g., "traits").