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.Schemaget()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:SchemaVisitorInvoked 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:
visitTerminalin interfaceSchemaVisitor<org.apache.avro.Schema>- Parameters:
terminal-
-
visitNonTerminal
Description copied from interface:SchemaVisitorInvoked for schema with children before proceeding to visit the children.- Specified by:
visitNonTerminalin interfaceSchemaVisitor<org.apache.avro.Schema>- Parameters:
nt-
-
afterVisitNonTerminal
Description copied from interface:SchemaVisitorInvoked for schemas with children after its children have been visited.- Specified by:
afterVisitNonTerminalin interfaceSchemaVisitor<org.apache.avro.Schema>- Parameters:
nt-
-
get
public org.apache.avro.Schema get()Description copied from interface:SchemaVisitorInvoked when visiting is complete.- Specified by:
getin interfaceSchemaVisitor<org.apache.avro.Schema>- Returns:
- a value which will be returned by the visit method.
-
toString
-