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
,MakeIdempotencyTokensClientOptional
,RemoveDeprecatedShapes
,RemoveTraitDefinitions
,RemoveUnusedShapes
,RenameShapes
public interface ProjectionTransformer
Creates 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 aProjectionTransformer
factory 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 aProjectionTransformer
factory function using SPI.static java.util.function.Function<java.lang.String,java.util.Optional<ProjectionTransformer>>
createServiceFactory(java.lang.Iterable<ProjectionTransformer> transformers)
Creates aProjectionTransformer
factory 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.String
getName()
Gets the name of the transformer.Model
transform(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 aProjectionTransformer
factory 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 aProjectionTransformer
factory 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 aProjectionTransformer
factory function using SPI.- Parameters:
classLoader
- Class loader to use to discover classes.- Returns:
- Returns the created factory function.
-
-