Save This Page
Home » xwork-2.1.5 » com.opensymphony » xwork2 » conversion » impl » [javadoc | source]
com.opensymphony.xwork2.conversion.impl
public class: InstantiatingNullHandler [javadoc | source]
java.lang.Object
   com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler

All Implemented Interfaces:
    NullHandler

Provided that the key ReflectionContextState#CREATE_NULL_OBJECTS is in the action context with a value of true (this key is set only during the execution of the com.opensymphony.xwork2.interceptor.ParametersInterceptor ), OGNL expressions that have caused a NullPointerException will be temporarily stopped for evaluation while the system automatically tries to solve the null references by automatically creating the object.

The following rules are used when handling null references:

For example, if a form element has a text field named person.name and the expression person evaluates to null, then this class will be invoked. Because the person expression evaluates to a Person class, a new Person is created and assigned to the null reference. Finally, the name is set on that object and the overall effect is that the system automatically created a Person object for you, set it by calling setUsers() and then finally called getUsers().setName() as you would typically expect.
Field Summary
public static final  String CREATE_NULL_OBJECTS   
     
    Method from com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler Summary:
    nullMethodResult,   nullPropertyValue,   setObjectFactory,   setObjectTypeDeterminer,   setReflectionProvider
    Methods from java.lang.Object:
    clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
    Method from com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler Detail:
     public Object nullMethodResult(Map<String, Object> context,
        Object target,
        String methodName,
        Object[] args) 
     public Object nullPropertyValue(Map<String, Object> context,
        Object target,
        Object property) 
     public  void setObjectFactory(ObjectFactory fac) 
     public  void setObjectTypeDeterminer(ObjectTypeDeterminer det) 
     public  void setReflectionProvider(ReflectionProvider prov)