Package org.apache.avro.util

# Interface SchemaVisitor<T>

All Known Implementing Classes:
  `SchemaResolver.IsResolvedSchemaVisitor`, `SchemaResolver.ResolvingVisitor`

public interface SchemaVisitor<T>

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static enum`
`SchemaVisitor.SchemaVisitorAction`

## Method Summary

Modifier and Type
Method
Description
`SchemaVisitor.SchemaVisitorAction`
`afterVisitNonTerminal(Schema nonTerminal)`
Invoked for schemas with children after its children have been visited.
`T`
`get()`
Invoked when visiting is complete.
`SchemaVisitor.SchemaVisitorAction`
`visitNonTerminal(Schema nonTerminal)`
Invoked for schema with children before proceeding to visit the children.
`SchemaVisitor.SchemaVisitorAction`
`visitTerminal(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 Details

### visitTerminal

SchemaVisitor.SchemaVisitorAction visitTerminal(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)

### visitNonTerminal

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

### afterVisitNonTerminal

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

### get

T get()
Invoked when visiting is complete.

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