Package software.amazon.smithy.build
Interface ProjectionTransformer
-
- All Known Implementing Classes:
Apply,ChangeStringEnumsToEnumShapes,ChangeTypes,ConfigurableProjectionTransformer,ExcludeMetadata,ExcludeShapesBySelector,ExcludeShapesByTag,ExcludeShapesByTrait,ExcludeTags,ExcludeTraits,ExcludeTraitsByTag,FilterSuppressions,FlattenNamespaces,IncludeMetadata,IncludeNamespaces,IncludeServices,IncludeShapesBySelector,IncludeShapesByTag,IncludeTags,IncludeTraits,IncludeTraitsByTag,RemoveTraitDefinitions,RemoveUnusedShapes,RenameShapes
public interface ProjectionTransformerCreates a model transformer by name.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static java.util.function.Function<java.lang.String,java.util.Optional<ProjectionTransformer>>createServiceFactory()Creates aProjectionTransformerfactory function using SPI and the current thread's context class loader.static java.util.function.Function<java.lang.String,java.util.Optional<ProjectionTransformer>>createServiceFactory(java.lang.ClassLoader classLoader)Creates aProjectionTransformerfactory function using SPI.static java.util.function.Function<java.lang.String,java.util.Optional<ProjectionTransformer>>createServiceFactory(java.lang.Iterable<ProjectionTransformer> transformers)Creates aProjectionTransformerfactory function using the given transformers.default 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.StringgetName()Gets the name of the transformer.Modeltransform(TransformContext context)Transforms the given model using the providedTransformContext.
-
-
-
Method Detail
-
getName
java.lang.String getName()
Gets the name of the transformer.- Returns:
- Returns the name (e.g., "traits").
-
transform
Model transform(TransformContext context)
Transforms the given model using the providedTransformContext.- Parameters:
context- Transformation context.- Returns:
- Returns the created transformer.
- Throws:
java.lang.IllegalArgumentException- if the arguments are invalid.
-
getAdditionalProjections
default java.util.List<java.lang.String> getAdditionalProjections(TransformContext context)
Allows the composition of projections by returning additional projections to run after the current one.- Parameters:
context- Transformation context.- Returns:
- a collection of named projections to run.
- Throws:
java.lang.IllegalArgumentException- if the arguments are invalid.
-
createServiceFactory
static java.util.function.Function<java.lang.String,java.util.Optional<ProjectionTransformer>> createServiceFactory()
Creates aProjectionTransformerfactory function using SPI and the current thread's context class loader.- Returns:
- Returns the created factory function.
- See Also:
Thread.getContextClassLoader()
-
createServiceFactory
static java.util.function.Function<java.lang.String,java.util.Optional<ProjectionTransformer>> createServiceFactory(java.lang.Iterable<ProjectionTransformer> transformers)
Creates aProjectionTransformerfactory function using the given transformers.- Parameters:
transformers- Transformers used to build a factory function.- Returns:
- Returns the created factory.
-
createServiceFactory
static java.util.function.Function<java.lang.String,java.util.Optional<ProjectionTransformer>> createServiceFactory(java.lang.ClassLoader classLoader)
Creates aProjectionTransformerfactory function using SPI.- Parameters:
classLoader- Class loader to use to discover classes.- Returns:
- Returns the created factory function.
-
-