Package org.apache.avro.compiler.schema
Class CloningVisitor
java.lang.Object
org.apache.avro.compiler.schema.CloningVisitor
- All Implemented Interfaces:
SchemaVisitor<org.apache.avro.Schema>
this visitor will create a clone of the original Schema with docs and other
nonessential fields stripped by default. what attributes are copied is
customizable.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionCloningVisitor
(CloningVisitor.PropertyCopier copyProperties, boolean copyDocs, org.apache.avro.Schema root) CloningVisitor
(org.apache.avro.Schema root) copy only serialization necessary fields. -
Method Summary
Modifier and TypeMethodDescriptionafterVisitNonTerminal
(org.apache.avro.Schema nt) Invoked for schemas with children after its children have been visited.org.apache.avro.Schema
get()
Invoked when visiting is complete.toString()
visitNonTerminal
(org.apache.avro.Schema nt) Invoked for schema with children before proceeding to visit the children.visitTerminal
(org.apache.avro.Schema terminal) Invoked for schemas that do not have "child" schemas (like string, int ...)
-
Constructor Details
-
CloningVisitor
public CloningVisitor(org.apache.avro.Schema root) copy only serialization necessary fields.- Parameters:
root
-
-
CloningVisitor
public CloningVisitor(CloningVisitor.PropertyCopier copyProperties, boolean copyDocs, org.apache.avro.Schema root)
-
-
Method Details
-
visitTerminal
Description copied from interface:SchemaVisitor
Invoked for schemas that do not have "child" schemas (like string, int ...) or for a previously encountered schema with children, which will be treated as a terminal. (to avoid circular recursion)- Specified by:
visitTerminal
in interfaceSchemaVisitor<org.apache.avro.Schema>
- Parameters:
terminal
-
-
visitNonTerminal
Description copied from interface:SchemaVisitor
Invoked for schema with children before proceeding to visit the children.- Specified by:
visitNonTerminal
in interfaceSchemaVisitor<org.apache.avro.Schema>
- Parameters:
nt
-
-
afterVisitNonTerminal
Description copied from interface:SchemaVisitor
Invoked for schemas with children after its children have been visited.- Specified by:
afterVisitNonTerminal
in interfaceSchemaVisitor<org.apache.avro.Schema>
- Parameters:
nt
-
-
get
public org.apache.avro.Schema get()Description copied from interface:SchemaVisitor
Invoked when visiting is complete.- Specified by:
get
in interfaceSchemaVisitor<org.apache.avro.Schema>
- Returns:
- a value which will be returned by the visit method.
-
toString
-