biz.hammurapi.util
Class BeanVisitable

java.lang.Object
  extended by biz.hammurapi.util.BeanVisitable
All Implemented Interfaces:
Visitable

public class BeanVisitable
extends java.lang.Object
implements Visitable

Wraps bean into visitable. Children are inferred from:

Author:
Pavel Vlasov

Constructor Summary
  BeanVisitable(java.lang.Object bean)
           
  BeanVisitable(java.lang.Object bean, java.lang.String rootPackage)
           
  BeanVisitable(java.lang.Object bean, java.lang.String[] rootPackages)
           
protected BeanVisitable(java.lang.Object bean, java.lang.String[] rootPackages, java.util.Map trace, java.util.Map parentMap)
          This constructor is used by BeanVisitable itself to wrap children into visitable.
 
Method Summary
 boolean accept(Visitor visitor)
           
 java.lang.Integer getIdentity()
           
 java.lang.Object[] getPath(java.lang.Object obj)
           
protected  void handleAccessError(java.lang.reflect.Field field, java.lang.Exception e)
          Prints stack trace to System.err.
protected  void handleAccessError(java.lang.reflect.Method method, java.lang.Exception e)
          Prints stack trace to System.err.
protected  boolean inTheRightPackage(java.lang.Class clazz)
           
protected  Visitable wrap(java.lang.Object child)
          Wraps child into Visitable and updates path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanVisitable

public BeanVisitable(java.lang.Object bean)

BeanVisitable

public BeanVisitable(java.lang.Object bean,
                     java.lang.String rootPackage)
Parameters:
bean - Bean to visit
rootPackage - Package for child classes to visit.

BeanVisitable

public BeanVisitable(java.lang.Object bean,
                     java.lang.String[] rootPackages)
Parameters:
bean - Bean to visit
rootPackages - Packages for child classes to visit.

BeanVisitable

protected BeanVisitable(java.lang.Object bean,
                        java.lang.String[] rootPackages,
                        java.util.Map trace,
                        java.util.Map parentMap)
This constructor is used by BeanVisitable itself to wrap children into visitable.

Parameters:
bean - Bean to visit
rootPackages - Package for child classes to visit.
Method Detail

inTheRightPackage

protected boolean inTheRightPackage(java.lang.Class clazz)

accept

public boolean accept(Visitor visitor)
Specified by:
accept in interface Visitable
Returns:
visitor.vistit()

handleAccessError

protected void handleAccessError(java.lang.reflect.Field field,
                                 java.lang.Exception e)
Prints stack trace to System.err. Override if necessary

Parameters:
field -
e -

handleAccessError

protected void handleAccessError(java.lang.reflect.Method method,
                                 java.lang.Exception e)
Prints stack trace to System.err. Override if necessary

Parameters:
method -
e -

wrap

protected Visitable wrap(java.lang.Object child)
Wraps child into Visitable and updates path. If child is already instance of Visitable it is returned as is and path is not updated.

Parameters:
child -
Returns:

getPath

public java.lang.Object[] getPath(java.lang.Object obj)
Returns:
Path from given object to the root of the model, the given object included.

getIdentity

public java.lang.Integer getIdentity()
Returns:
System hash code of underlying bean


Copyright © 2003 Hammurapi Group. All Rights Reserved.