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
`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 and Description
`AutoBeanVisitor()`

### Method Summary

All Methods Instance Methods Concrete Methods
`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