org.apache.avro.compiler.schema

## Interface SchemaVisitor<T>

All Known Implementing Classes:
  CloningVisitor

    public interface SchemaVisitor<T>

### Method Summary

All Methods Instance Methods Abstract Methods
`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 ...) or for a previously encountered schema with children, which will be treated as a terminal.

### Method Detail

#### 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.