Class SchemaTransformer

java.lang.Object
com.atlassian.oai.validator.schema.transform.SchemaTransformer
Direct Known Subclasses:
AdditionalPropertiesInjectionTransformer, RequiredFieldTransformer, SchemaDefinitionsInjectionTransformer, SchemaRefInjectionTransformer

public abstract class SchemaTransformer extends Object
A base class for transformers that mutate the state of a parsed Swagger/OpenAPI schema object.

Provides some helpers for working with the parsed schema objects. Used to avoid mutating the Schema object which can't easily be cloned.

  • Field Details

  • Constructor Details

    • SchemaTransformer

      public SchemaTransformer()
  • Method Details

    • apply

      public abstract void apply(com.fasterxml.jackson.databind.JsonNode schemaObject, SchemaTransformationContext context)
      Apply the schema transformation to the given node.

      Note: Callers should assume that this will mutate the given schema object.

    • hasAllOfField

      protected static boolean hasAllOfField(com.fasterxml.jackson.databind.JsonNode n)
    • hasPropertiesField

      protected static boolean hasPropertiesField(com.fasterxml.jackson.databind.JsonNode n)
    • itemsDefinition

      @Nullable protected static com.fasterxml.jackson.databind.JsonNode itemsDefinition(com.fasterxml.jackson.databind.JsonNode n)
    • isObjectDefinition

      protected static boolean isObjectDefinition(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • isArrayDefinition

      protected static boolean isArrayDefinition(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • disableAdditionalProperties

      protected static void disableAdditionalProperties(com.fasterxml.jackson.databind.node.ObjectNode n)
    • properties

      protected static Iterator<com.fasterxml.jackson.databind.JsonNode> properties(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • allOf

      protected static Iterator<com.fasterxml.jackson.databind.JsonNode> allOf(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • anyOf

      protected static Iterator<com.fasterxml.jackson.databind.JsonNode> anyOf(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • oneOf

      protected static Iterator<com.fasterxml.jackson.databind.JsonNode> oneOf(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • schemaComponents

      protected static Iterator<com.fasterxml.jackson.databind.JsonNode> schemaComponents(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • property

      @Nullable protected static com.fasterxml.jackson.databind.JsonNode property(@Nullable com.fasterxml.jackson.databind.JsonNode n, String fieldName)
    • hasDiscriminatorField

      protected static boolean hasDiscriminatorField(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • hasAdditionalFieldSet

      protected static boolean hasAdditionalFieldSet(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • hasRequiredFields

      protected static boolean hasRequiredFields(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • getRequiredFieldNames

      protected static List<String> getRequiredFieldNames(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • setRequiredFieldNames

      protected static void setRequiredFieldNames(@Nullable com.fasterxml.jackson.databind.JsonNode n, List<String> required)
    • isReadOnly

      protected static boolean isReadOnly(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • isWriteOnly

      protected static boolean isWriteOnly(@Nullable com.fasterxml.jackson.databind.JsonNode n)
    • setSchemaRef

      protected static void setSchemaRef(@Nullable com.fasterxml.jackson.databind.JsonNode n, String value)