uk.ltd.getahead.dwr
Interface Converter

All Known Implementing Classes:
ArrayConverter, BaseV10Converter, BeanConverter, BigNumberConverter, CharArrayConverter, CollectionConverter, ConstructorConverter, DateConverter, DOM4JConverter, DOMConverter, EnumConverter, JDOMConverter, MapConverter, NullConverter, ObjectConverter, PrimitiveConverter, ServletConverter, StringConverter, XOMConverter

public interface Converter

An interface for converting types from a string to some other type.

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

Method Summary
 java.lang.Object convertInbound(java.lang.Class paramType, InboundVariable data, InboundContext inctx)
          Attempt to coerce the data from a string to an Object.
 java.lang.String convertOutbound(java.lang.Object data, java.lang.String varName, OutboundContext outctx)
          Return a javascript string that defines the variable named varName to have the contents of the converted object data.
 void setConverterManager(ConverterManager config)
          If we are a compound converter that farms out part of the conversion to other converters then you farm the conversion out via a configuration.
 

Method Detail

setConverterManager

public void setConverterManager(ConverterManager config)
If we are a compound converter that farms out part of the conversion to other converters then you farm the conversion out via a configuration.

Parameters:
config - The confiuration object

convertInbound

public java.lang.Object convertInbound(java.lang.Class paramType,
                                       InboundVariable data,
                                       InboundContext inctx)
                                throws ConversionException
Attempt to coerce the data from a string to an Object. If anything goes wrong with inbound conversion then we generally throw an exception because we are converting data from the untrusted internet so we take the assumption that anything wrong is someone hacking.

Parameters:
paramType - The type to convert to
data - The data to convert
inctx - The map of data that we are working on
Returns:
The convered data, or null if the conversion was not possible
Throws:
ConversionException - If the conversion failed for some reason

convertOutbound

public java.lang.String convertOutbound(java.lang.Object data,
                                        java.lang.String varName,
                                        OutboundContext outctx)
                                 throws ConversionException
Return a javascript string that defines the variable named varName to have the contents of the converted object data. In contrast to convertInbound() any failures in converting data on the way out should not stop processing, and we should carry on if we can. Failures are probably down to some misconfiguration so as much information about the error as can be safely generated to console logs is good. In other words if you need to loop in outbound conversion then it might be a good idea to catch issues inside the loop, log, and carry on.

Parameters:
data - The data to convert
varName - The variable to define
outctx - Objects already converted and the results
Returns:
The string that defines the given variable
Throws:
ConversionException - If the conversion failed for some reason

Copyright ? 2005