Package com.google.web.bindery.autobean.shared

## Class AutoBeanVisitor

- java.lang.Object
- - com.google.web.bindery.autobean.shared.AutoBeanVisitor

-     public class AutoBeanVisitor
      extends java.lang.Object

  Allows traversal of an AutoBean object graph.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `AutoBeanVisitor.CollectionPropertyContext` | A PropertyContext that describes the parameterization of the Collection being visited.
    `static interface` | `AutoBeanVisitor.Context` | Reserved for future expansion to avoid API breaks.
    `static interface` | `AutoBeanVisitor.MapPropertyContext` | A PropertyContext that describes the parameterization of the Map being visited.
    `static class` | `AutoBeanVisitor.ParameterizationVisitor` | The ParameterizationVisitor provides access to more complete type information than a simple class literal can provide.
    `static interface` | `AutoBeanVisitor.PropertyContext` | Allows properties to be reset.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AutoBeanVisitor()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `endVisit​(AutoBean<?> bean, AutoBeanVisitor.Context ctx)` | Called after visiting an `AutoBean`.
    `void` | `endVisitCollectionProperty​(java.lang.String propertyName, AutoBean<java.util.Collection<?>> value, AutoBeanVisitor.CollectionPropertyContext ctx)` | Called after visiting a reference property.
    `void` | `endVisitMapProperty​(java.lang.String propertyName, AutoBean<java.util.Map<?,​?>> value, AutoBeanVisitor.MapPropertyContext ctx)` | Called after visiting a reference property.
    `void` | `endVisitReferenceProperty​(java.lang.String propertyName, AutoBean<?> value, AutoBeanVisitor.PropertyContext ctx)` | Called after visiting a reference property.
    `void` | `endVisitValueProperty​(java.lang.String propertyName, java.lang.Object value, AutoBeanVisitor.PropertyContext ctx)` | Called after visiting a value property.
    `boolean` | `visit​(AutoBean<?> bean, AutoBeanVisitor.Context ctx)` | Called when visiting an `AutoBean`.
    `boolean` | `visitCollectionProperty​(java.lang.String propertyName, AutoBean<java.util.Collection<?>> value, AutoBeanVisitor.CollectionPropertyContext ctx)` | Called every time, but `visit(AutoBean, Context)` will be called for the value only the first time it is encountered.
    `boolean` | `visitMapProperty​(java.lang.String propertyName, AutoBean<java.util.Map<?,​?>> value, AutoBeanVisitor.MapPropertyContext ctx)` | Called every time, but `visit(AutoBean, Context)` will be called for the value only the first time it is encountered.
    `boolean` | `visitReferenceProperty​(java.lang.String propertyName, AutoBean<?> value, AutoBeanVisitor.PropertyContext ctx)` | Called every time, but `visit(AutoBean, Context)` will be called for the value only the first time it is encountered.
    `boolean` | `visitValueProperty​(java.lang.String propertyName, java.lang.Object value, AutoBeanVisitor.PropertyContext ctx)` | TODO: document.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AutoBeanVisitor

          public AutoBeanVisitor()

  - ### Method Detail

    - #### endVisit

          public void endVisit​(AutoBean<?> bean,
                               AutoBeanVisitor.Context ctx)

      Called after visiting an `AutoBean`.
      Parameters:
        `bean` - an `AutoBean`
        `ctx` - a Context

    - #### endVisitCollectionProperty

          public void endVisitCollectionProperty​(java.lang.String propertyName,
                                                 AutoBean<java.util.Collection<?>> value,
                                                 AutoBeanVisitor.CollectionPropertyContext ctx)

      Called after visiting a reference property.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext

    - #### endVisitMapProperty

          public void endVisitMapProperty​(java.lang.String propertyName,
                                          AutoBean<java.util.Map<?,​?>> value,
                                          AutoBeanVisitor.MapPropertyContext ctx)

      Called after visiting a reference property.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext

    - #### endVisitReferenceProperty

          public void endVisitReferenceProperty​(java.lang.String propertyName,
                                                AutoBean<?> value,
                                                AutoBeanVisitor.PropertyContext ctx)

      Called after visiting a reference property.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext

    - #### endVisitValueProperty

          public void endVisitValueProperty​(java.lang.String propertyName,
                                            java.lang.Object value,
                                            AutoBeanVisitor.PropertyContext ctx)

      Called after visiting a value property.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext

    - #### visit

          public boolean visit​(AutoBean<?> bean,
                               AutoBeanVisitor.Context ctx)

      Called when visiting an `AutoBean`.
      Parameters:
        `bean` - an `AutoBean`
        `ctx` - a Context

    - #### visitCollectionProperty

          public boolean visitCollectionProperty​(java.lang.String propertyName,
                                                 AutoBean<java.util.Collection<?>> value,
                                                 AutoBeanVisitor.CollectionPropertyContext ctx)

      Called every time, but `visit(AutoBean, Context)` will be called for the value only the first time it is encountered.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext

    - #### visitMapProperty

          public boolean visitMapProperty​(java.lang.String propertyName,
                                          AutoBean<java.util.Map<?,​?>> value,
                                          AutoBeanVisitor.MapPropertyContext ctx)

      Called every time, but `visit(AutoBean, Context)` will be called for the value only the first time it is encountered.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext

    - #### visitReferenceProperty

          public boolean visitReferenceProperty​(java.lang.String propertyName,
                                                AutoBean<?> value,
                                                AutoBeanVisitor.PropertyContext ctx)

      Called every time, but `visit(AutoBean, Context)` will be called for the value only the first time it is encountered.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext

    - #### visitValueProperty

          public boolean visitValueProperty​(java.lang.String propertyName,
                                            java.lang.Object value,
                                            AutoBeanVisitor.PropertyContext ctx)

      TODO: document.
      Parameters:
        `propertyName` - the property name, as a String
        `value` - the property value
        `ctx` - a PropertyContext