Interface CodecVisitor<R>

Type Parameters:
R - result type produced during traversal
All Known Implementing Classes:
SchemaGenerator

public interface CodecVisitor<R>
Visitor interface used to traverse codec structures and produce a result.
  • Method Details

    • visitPrimitive

      R visitPrimitive(String type)
      Visits a primitive codec type.
      Parameters:
      type - primitive type identifier
      Returns:
      visitor result
    • visitRecord

      R visitRecord(Iterable<RecordField<?,?>> fields)
      Visits a record codec structurally mapped from field parameters.
      Parameters:
      fields - the iterable structure of fields mapped to the record
      Returns:
      visitor result
    • visitList

      R visitList(Codec<?> elementCodec)
      Visits a list codec.
      Parameters:
      elementCodec - codec describing list elements
      Returns:
      visitor result
    • visitMap

      R visitMap(Codec<?> keyCodec, Codec<?> valueCodec)
      Visits a map codec.
      Parameters:
      keyCodec - codec describing map keys
      valueCodec - codec describing map values
      Returns:
      visitor result
    • visitEnum

      R visitEnum(Class<? extends Enum<?>> enumClass)
      Visits an enum codec.
      Parameters:
      enumClass - enum type represented by the codec
      Returns:
      visitor result
    • visitOptional

      R visitOptional(Codec<?> wrapped)
      Visits an optional codec.
      Parameters:
      wrapped - wrapped codec
      Returns:
      visitor result
    • visitEither

      R visitEither(Codec<?> left, Codec<?> right)
      Visits a codec representing one of two possible types.
      Parameters:
      left - left codec
      right - right codec
      Returns:
      visitor result
    • visitDispatch

      R visitDispatch(String discriminator)
      Visits a dispatch codec.
      Parameters:
      discriminator - field used to determine the target variant
      Returns:
      visitor result
    • visitOneOf

      R visitOneOf(List<Codec<?>> codecs)
      Visits a codec that may match one of several alternatives.
      Parameters:
      codecs - alternative codecs
      Returns:
      visitor result
    • visitTuple

      R visitTuple(List<Codec<?>> codecs)
      Visits a codec representing a fixed ordered sequence of values.
      Parameters:
      codecs - codecs describing tuple elements
      Returns:
      visitor result
    • visitUnknown

      R visitUnknown(String description)
      Visits an unknown or unsupported codec type.
      Parameters:
      description - description of the codec
      Returns:
      visitor result
    • visitCustom

      R visitCustom(SchemaNode customSchema)
      Visits a predefined explicit custom schema representation.
      Parameters:
      customSchema - explicitly defined custom schema node
      Returns:
      visitor result