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 ProjectionTransformer
Creates a model transformer by name.
  • Method Details

    • getName

      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 provided TransformContext.
      Parameters:
      context - Transformation context.
      Returns:
      Returns the created transformer.
      Throws:
      IllegalArgumentException - if the arguments are invalid.
    • getAdditionalProjections

      default List<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:
      IllegalArgumentException - if the arguments are invalid.
    • createServiceFactory

      static Function<String,Optional<ProjectionTransformer>> createServiceFactory()
      Creates a ProjectionTransformer factory function using SPI and the current thread's context class loader.
      Returns:
      Returns the created factory function.
      See Also:
    • createServiceFactory

      static Function<String,Optional<ProjectionTransformer>> createServiceFactory(Iterable<ProjectionTransformer> transformers)
      Creates a ProjectionTransformer factory function using the given transformers.
      Parameters:
      transformers - Transformers used to build a factory function.
      Returns:
      Returns the created factory.
    • createServiceFactory

      static Function<String,Optional<ProjectionTransformer>> createServiceFactory(ClassLoader classLoader)
      Creates a ProjectionTransformer factory function using SPI.
      Parameters:
      classLoader - Class loader to use to discover classes.
      Returns:
      Returns the created factory function.