Package org.apache.avro.compiler.schema

# Interface SchemaVisitor<T>

All Known Implementing Classes:
  `CloningVisitor`

public interface SchemaVisitor<T>

## Method Summary

Modifier and Type
Method
Description
`SchemaVisitorAction`
`afterVisitNonTerminal(org.apache.avro.Schema nonTerminal)`
Invoked for schemas with children after its children have been visited.
`T`
`get()`
Invoked when visiting is complete.
`SchemaVisitorAction`
`visitNonTerminal(org.apache.avro.Schema nonTerminal)`
Invoked for schema with children before proceeding to visit the children.
`SchemaVisitorAction`
`visitTerminal(org.apache.avro.Schema terminal)`
Invoked for schemas that do not have "child" schemas (like string, int ...)

## Method Details

### visitTerminal

SchemaVisitorAction visitTerminal(org.apache.avro.Schema terminal)
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)

Parameters:
  `terminal` -

### visitNonTerminal

SchemaVisitorAction visitNonTerminal(org.apache.avro.Schema nonTerminal)
Invoked for schema with children before proceeding to visit the children.

Parameters:
  `nonTerminal` -

### afterVisitNonTerminal

SchemaVisitorAction afterVisitNonTerminal(org.apache.avro.Schema nonTerminal)
Invoked for schemas with children after its children have been visited.

Parameters:
  `nonTerminal` -

### get

T get()
Invoked when visiting is complete.

Returns:
  a value which will be returned by the visit method.