|
Author: doogie
Date: Wed Feb 10 22:37:51 2010 New Revision: 908695 URL: http://svn.apache.org/viewvc?rev=908695&view=rev Log: Allow for converting to an object that extends the target class. Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractConverter.java ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractLocalizedConverter.java ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converter.java ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/LocalizedConverter.java Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractConverter.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractConverter.java?rev=908695&r1=908694&r2=908695&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractConverter.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractConverter.java Wed Feb 10 22:37:51 2010 @@ -34,6 +34,10 @@ Converters.registerConverter(this); } + public T convert(Class<?> targetClass, S obj) throws ConversionException { + return convert(obj); + } + public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) { return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && ObjectType.instanceOf(targetClass, this.getTargetClass()); } Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractLocalizedConverter.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractLocalizedConverter.java?rev=908695&r1=908694&r2=908695&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractLocalizedConverter.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/AbstractLocalizedConverter.java Wed Feb 10 22:37:51 2010 @@ -18,6 +18,9 @@ *******************************************************************************/ package org.ofbiz.base.conversion; +import java.util.Locale; +import java.util.TimeZone; + import org.ofbiz.base.util.ObjectType; /** Abstract LocalizedConverter class. This class handles converter registration @@ -34,6 +37,18 @@ Converters.registerConverter(this); } + public T convert(Class<?> targetClass, S obj) throws ConversionException { + return convert(obj); + } + + public T convert(Class<?> targetClass, S obj, Locale locale, TimeZone timeZone) throws ConversionException { + return convert(obj, locale, timeZone); + } + + public T convert(Class<?> targetClass, S obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException { + return convert(obj, locale, timeZone, formatString); + } + public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) { return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && ObjectType.instanceOf(targetClass, this.getTargetClass()); } Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converter.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converter.java?rev=908695&r1=908694&r2=908695&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converter.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converter.java Wed Feb 10 22:37:51 2010 @@ -45,6 +45,15 @@ */ public T convert(S obj) throws ConversionException; + /** Converts <code>obj</code> to <code>T</code>. + * + * @param targetClass The <code>Class</code> to convert to + * @param obj The source <code>Object</code> to convert + * @return The converted <code>Object</code> + * @throws ConversionException + */ + public T convert(Class<?> targetClass, S obj) throws ConversionException; + /** Returns the source <code>Class</code> for this converter. * * @return The source <code>Class</code> for this converter Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java?rev=908695&r1=908694&r2=908695&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/Converters.java Wed Feb 10 22:37:51 2010 @@ -184,6 +184,10 @@ return obj; } + public Object convert(Class<?> targetClass, Object obj) throws ConversionException { + return obj; + } + public Class<?> getSourceClass() { return Object.class; } @@ -213,6 +217,10 @@ return obj; } + public T convert(Class<?> targetClass, T obj) throws ConversionException { + return obj; + } + public Class<?> getSourceClass() { return clz; } Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/LocalizedConverter.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/LocalizedConverter.java?rev=908695&r1=908694&r2=908695&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/LocalizedConverter.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/LocalizedConverter.java Wed Feb 10 22:37:51 2010 @@ -38,6 +38,17 @@ /** Converts <code>obj</code> to <code>T</code>. * + * @param targetClass The <code>Class</code> to convert to + * @param obj The source <code>Object</code> to convert + * @param locale The locale used for conversion - must not be <code>null</code> + * @param timeZone The time zone used for conversion - must not be <code>null</code> + * @return The converted <code>Object</code> + * @throws ConversionException + */ + public T convert(Class<?> targetClass, S obj, Locale locale, TimeZone timeZone) throws ConversionException; + + /** Converts <code>obj</code> to <code>T</code>. + * * @param obj The source <code>Object</code> to convert * @param locale The locale used for conversion - must not be <code>null</code> * @param timeZone The time zone used for conversion - must not be <code>null</code> @@ -46,4 +57,16 @@ * @throws ConversionException */ public T convert(S obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException; + + /** Converts <code>obj</code> to <code>T</code>. + * + * @param targetClass The <code>Class</code> to convert to + * @param obj The source <code>Object</code> to convert + * @param locale The locale used for conversion - must not be <code>null</code> + * @param timeZone The time zone used for conversion - must not be <code>null</code> + * @param formatString Optional formatting string + * @return The converted <code>Object</code> + * @throws ConversionException + */ + public T convert(Class<?> targetClass, S obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException; } |
| Free forum by Nabble | Edit this page |
