Package org.apache.iceberg.avro
Class AvroWithPartnerByStructureVisitor<P,T>
- java.lang.Object
-
- org.apache.iceberg.avro.AvroWithPartnerByStructureVisitor<P,T>
-
- Type Parameters:
P- Partner type.T- Return T.
- Direct Known Subclasses:
AvroWithFlinkSchemaVisitor,AvroWithSparkSchemaVisitor
public abstract class AvroWithPartnerByStructureVisitor<P,T> extends java.lang.ObjectA abstract avro schema visitor with partner type. The visitor rely on the structure matching exactly and are guaranteed that because both schemas are derived from the same Iceberg schema.
-
-
Constructor Summary
Constructors Constructor Description AvroWithPartnerByStructureVisitor()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Tarray(P sArray, org.apache.avro.Schema array, T element)protected abstract ParrayElementType(P arrayType)protected abstract Pair<java.lang.String,P>fieldNameAndType(P structType, int pos)protected abstract booleanisMapType(P type)protected abstract booleanisStringType(P type)Tmap(P sMap, org.apache.avro.Schema map, T value)Tmap(P sMap, org.apache.avro.Schema map, T key, T value)protected abstract PmapKeyType(P mapType)protected abstract PmapValueType(P mapType)protected abstract PnullType()Tprimitive(P type, org.apache.avro.Schema primitive)Trecord(P struct, org.apache.avro.Schema record, java.util.List<java.lang.String> names, java.util.List<T> fields)Tunion(P type, org.apache.avro.Schema union, java.util.List<T> options)static <P,T>
Tvisit(P partner, org.apache.avro.Schema schema, AvroWithPartnerByStructureVisitor<P,T> visitor)
-
-
-
Method Detail
-
visit
public static <P,T> T visit(P partner, org.apache.avro.Schema schema, AvroWithPartnerByStructureVisitor<P,T> visitor)
-
isMapType
protected abstract boolean isMapType(P type)
-
isStringType
protected abstract boolean isStringType(P type)
-
fieldNameAndType
protected abstract Pair<java.lang.String,P> fieldNameAndType(P structType, int pos)
-
nullType
protected abstract P nullType()
-
record
public T record(P struct, org.apache.avro.Schema record, java.util.List<java.lang.String> names, java.util.List<T> fields)
-
-