org.directwebremoting.convert
Class ObjectConverter

java.lang.Object
  extended by org.directwebremoting.convert.BaseV20Converter
      extended by org.directwebremoting.convert.BasicObjectConverter
          extended by org.directwebremoting.convert.ObjectConverter
All Implemented Interfaces:
Converter, NamedConverter

public class ObjectConverter
extends BasicObjectConverter
implements Converter

Convert a Javascript associative array into a JavaBean

Author:
Joe Walker [joe at getahead dot ltd dot uk]

Field Summary
 
Fields inherited from class org.directwebremoting.convert.BasicObjectConverter
converterManager, exclusions, inclusions, instanceType, javascript
 
Constructor Summary
ObjectConverter()
           
 
Method Summary
protected  TypeHintContext createTypeHintContext(InboundContext inctx, Property property)
          BasicObjectConverter.convertInbound(Class, InboundVariable, InboundContext) needs to create a TypeHintContext for the Property it is converting so that the type guessing system can do its work.
 java.util.Map getPropertyMapFromClass(java.lang.Class type, boolean readRequired, boolean writeRequired)
          Get a map of property names to implementations of Property.
 java.util.Map getPropertyMapFromObject(java.lang.Object example, boolean readRequired, boolean writeRequired)
          Get a map of property names to implementations of Property.
 void setForce(java.lang.String force)
          Do we force accessibility for private fields
 
Methods inherited from class org.directwebremoting.convert.BasicObjectConverter
convertInbound, convertOutbound, extractInboundTokens, getConverterManager, getInstanceType, getJavascript, isAllowedByIncludeExcludeRules, setConverterManager, setExclude, setImplementation, setInclude, setInstanceType, setJavascript
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.directwebremoting.extend.Converter
convertInbound, convertOutbound, setConverterManager
 

Constructor Detail

ObjectConverter

public ObjectConverter()
Method Detail

setForce

public void setForce(java.lang.String force)
Do we force accessibility for private fields

Parameters:
force - "true|false" to set the force accessibility flag

getPropertyMapFromObject

public java.util.Map getPropertyMapFromObject(java.lang.Object example,
                                              boolean readRequired,
                                              boolean writeRequired)
                                       throws MarshallException
Description copied from interface: NamedConverter
Get a map of property names to implementations of Property.

HibernateBeanConverter (and maybe others) may want to provide alternate versions of bean.getClass(), and we may wish to fake or hide properties in some cases.

This implementation is preferred above the alternate: NamedConverter.getPropertyMapFromClass(Class, boolean, boolean) because it potentially retains important extra type information.

Specified by:
getPropertyMapFromObject in interface NamedConverter
Parameters:
example - The object to find bean info from
readRequired - The properties returned must be readable
writeRequired - The properties returned must be writeable
Returns:
An array of PropertyDescriptors describing the beans properties
Throws:
MarshallException - If the introspection fails
See Also:
NamedConverter.getPropertyMapFromClass(Class, boolean, boolean)

getPropertyMapFromClass

public java.util.Map getPropertyMapFromClass(java.lang.Class type,
                                             boolean readRequired,
                                             boolean writeRequired)
Description copied from interface: NamedConverter
Get a map of property names to implementations of Property.

HibernateBeanConverter (and maybe others) may want to provide alternate versions of bean.getClass(), and we may wish to fake or hide properties in some cases.

If you have a real object to investigate then it is probably better to call NamedConverter.getPropertyMapFromObject(Object, boolean, boolean) because that version can take into accound extra runtime type info.

Specified by:
getPropertyMapFromClass in interface NamedConverter
Parameters:
type - The class to find bean info from
readRequired - The properties returned must be readable
writeRequired - The properties returned must be writeable
Returns:
An array of PropertyDescriptors describing the beans properties
See Also:
NamedConverter.getPropertyMapFromObject(Object, boolean, boolean)

createTypeHintContext

protected TypeHintContext createTypeHintContext(InboundContext inctx,
                                                Property property)
Description copied from class: BasicObjectConverter
BasicObjectConverter.convertInbound(Class, InboundVariable, InboundContext) needs to create a TypeHintContext for the Property it is converting so that the type guessing system can do its work.

The method of generating a TypeHintContext is different for the BeanConverter and the ObjectConverter.

Specified by:
createTypeHintContext in class BasicObjectConverter
Parameters:
inctx - The parent context
property - The property being converted
Returns:
The new TypeHintContext