public interface Visitor
Element calls the appropriate Visit method in this interface
 The user is responsible for recursively navigating the structure.| Modifier and Type | Method and Description | 
|---|---|
void | 
visit(List<Element> elements)
Visit the root document. 
 | 
void | 
visitArray(String name,
          List<Element> elements)
Visits an array of elements. 
 | 
void | 
visitBinary(String name,
           byte subType,
           byte[] data)
Visits a binary element. 
 | 
void | 
visitBoolean(String name,
            boolean value)
Visits a boolean element. 
 | 
void | 
visitDBPointer(String name,
              String databaseName,
              String collectionName,
              ObjectId id)
Visits a deprecated DBPointer element. 
 | 
void | 
visitDocument(String name,
             List<Element> elements)
Visits a sub-document element. 
 | 
void | 
visitDouble(String name,
           double value)
Visits a double element. 
 | 
void | 
visitInteger(String name,
            int value)
Visits a integer (32-bit signed) element. 
 | 
void | 
visitJavaScript(String name,
               String code)
Visits a JavaScript element. 
 | 
void | 
visitJavaScript(String name,
               String code,
               Document scope)
Visits a JavaScript with Scope element. 
 | 
void | 
visitLong(String name,
         long value)
Visits a long (64-bit signed) element. 
 | 
void | 
visitMaxKey(String name)
Visits a minimum key value element. 
 | 
void | 
visitMinKey(String name)
Visits a minimum key value element. 
 | 
void | 
visitMongoTimestamp(String name,
                   long value)
Visits a MongoDB Timestamp element. 
 | 
void | 
visitNull(String name)
Visits a  
null valued element. | 
void | 
visitObjectId(String name,
             ObjectId id)
Visits an ObjectId element. 
 | 
void | 
visitRegularExpression(String name,
                      String pattern,
                      String options)
Visits a regular expression element. 
 | 
void | 
visitString(String name,
           String value)
Visits a string element. 
 | 
void | 
visitSymbol(String name,
           String symbol)
Visits a symbol element. 
 | 
void | 
visitTimestamp(String name,
              long timestamp)
Visits a timestamp element. 
 | 
void visit(List<Element> elements)
 Implementations of Document may see a significant performance
 enhancement if they ensure that the list of elements is the same list.
 (Identify check instead of Object.equals(Object).
 
elements - The sub elements of the document.void visitArray(String name, List<Element> elements)
 The ArrayElement implementation ensures that the list of elements
 is always the same list. Visitors may use this fact to cache intermediate
 results.
 
name - The name of the element.elements - The elements in the array.void visitBinary(String name, byte subType, byte[] data)
name - The name of the element.subType - The binary data sub type.data - The binary data.void visitBoolean(String name, boolean value)
name - The name of the element.value - The boolean value.void visitDBPointer(String name, String databaseName, String collectionName, ObjectId id)
name - The name of the element.databaseName - The name of the database containing the document.collectionName - The name of the collection containing the document.id - The id for the document.void visitDocument(String name, List<Element> elements)
 The DocumentElement implementation ensures that the list of
 elements is always the same list. Visitors may use this fact to cache
 intermediate results.
 
name - The name of the element.elements - The sub elements of the document.void visitDouble(String name, double value)
name - The name of the element.value - The double value.void visitInteger(String name, int value)
name - The name of the element.value - The integer value.void visitJavaScript(String name, String code)
name - The name of the element.code - The java script code.void visitJavaScript(String name, String code, Document scope)
name - The name of the element.code - The java script code.scope - The scope for the JacaScript code.void visitLong(String name, long value)
name - The name of the element.value - The long value.void visitMaxKey(String name)
name - The name of the element.void visitMinKey(String name)
name - The name of the element.void visitMongoTimestamp(String name, long value)
name - The name of the element.value - The mongoDB timstamp value.void visitNull(String name)
null valued element.name - The name of the element.void visitObjectId(String name, ObjectId id)
name - The name of the element.id - The object id.void visitRegularExpression(String name, String pattern, String options)
name - The name of the element.pattern - The pattern for the regular expression.options - The regular expression options. See the BSON specification for
            details.void visitString(String name, String value)
name - The name of the element.value - The string value.void visitSymbol(String name, String symbol)
name - The name of the element.symbol - The symbol value.void visitTimestamp(String name, long timestamp)
name - The name of the element.timestamp - The number of milliseconds since the Unix epoch.Copyright © 2011–2014 Allanbank Consulting, Inc.. All rights reserved.