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 Summary
Modifier and TypeMethodDescriptionvisitCustom(SchemaNode customSchema) Visits a predefined explicit custom schema representation.visitDispatch(String discriminator) Visits a dispatch codec.visitEither(Codec<?> left, Codec<?> right) Visits a codec representing one of two possible types.Visits an enum codec.Visits a list codec.Visits a map codec.visitOneOf(List<Codec<?>> codecs) Visits a codec that may match one of several alternatives.visitOptional(Codec<?> wrapped) Visits an optional codec.visitPrimitive(String type) Visits a primitive codec type.visitRecord(Iterable<RecordField<?, ?>> fields) Visits a record codec structurally mapped from field parameters.visitTuple(List<Codec<?>> codecs) Visits a codec representing a fixed ordered sequence of values.visitUnknown(String description) Visits an unknown or unsupported codec type.
-
Method Details
-
visitPrimitive
Visits a primitive codec type.- Parameters:
type- primitive type identifier- Returns:
- visitor result
-
visitRecord
Visits a record codec structurally mapped from field parameters.- Parameters:
fields- the iterable structure of fields mapped to the record- Returns:
- visitor result
-
visitList
Visits a list codec.- Parameters:
elementCodec- codec describing list elements- Returns:
- visitor result
-
visitMap
Visits a map codec.- Parameters:
keyCodec- codec describing map keysvalueCodec- codec describing map values- Returns:
- visitor result
-
visitEnum
Visits an enum codec.- Parameters:
enumClass- enum type represented by the codec- Returns:
- visitor result
-
visitOptional
Visits an optional codec.- Parameters:
wrapped- wrapped codec- Returns:
- visitor result
-
visitEither
Visits a codec representing one of two possible types.- Parameters:
left- left codecright- right codec- Returns:
- visitor result
-
visitDispatch
Visits a dispatch codec.- Parameters:
discriminator- field used to determine the target variant- Returns:
- visitor result
-
visitOneOf
Visits a codec that may match one of several alternatives.- Parameters:
codecs- alternative codecs- Returns:
- visitor result
-
visitTuple
Visits a codec representing a fixed ordered sequence of values.- Parameters:
codecs- codecs describing tuple elements- Returns:
- visitor result
-
visitUnknown
Visits an unknown or unsupported codec type.- Parameters:
description- description of the codec- Returns:
- visitor result
-
visitCustom
Visits a predefined explicit custom schema representation.- Parameters:
customSchema- explicitly defined custom schema node- Returns:
- visitor result
-