Revision: 13665
http://datanucleus.svn.sourceforge.net/datanucleus/?rev=13665&view=rev
Author: andy_jefferson
Date: 2011-10-10 09:42:20 +0000 (Mon, 10 Oct 2011)
Log Message:
-----------
[NUCCORE-770] Make ObjectStringConverter, ObjectLongConverter generic taking the type since now using JDK1.5+
Modified Paths:
--------------
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/ClassMapping.java
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/CurrencyMapping.java
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/LocaleMapping.java
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/StringBufferMapping.java
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/TimeZoneMapping.java
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URIMapping.java
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URLMapping.java
platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/UUIDMapping.java
platform/core/trunk/src/java/org/datanucleus/store/types/BigDecimalStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/BigIntegerStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/BitSetStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/CalendarStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/ClassStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/ColorStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/CurrencyStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/DateLongConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/DateStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/LocaleStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/ObjectLongConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/ObjectStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/PointStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/RectangleStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/StringBufferStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/TimeZoneStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/URIStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/URLStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/UUIDStringConverter.java
platform/core/trunk/src/java/org/datanucleus/store/types/package.html
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/ClassMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/ClassMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/ClassMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -52,7 +52,7 @@
*/
protected String objectToString(Object object)
{
- return converter.toString(object);
+ return converter.toString((Class)object);
}
/**
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/CurrencyMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/CurrencyMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/CurrencyMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -51,7 +51,7 @@
*/
protected String objectToString(Object object)
{
- return converter.toString(object);
+ return converter.toString((Currency)object);
}
/**
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/LocaleMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/LocaleMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/LocaleMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -63,7 +63,7 @@
*/
protected String objectToString(Object object)
{
- return converter.toString(object);
+ return converter.toString((Locale)object);
}
/**
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/StringBufferMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/StringBufferMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/StringBufferMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -49,7 +49,7 @@
*/
public void setObject(ExecutionContext ec, Object preparedStatement, int[] exprIndex, Object value)
{
- Object v = converter.toString(value);
+ Object v = converter.toString((StringBuffer)value);
super.setObject(ec, preparedStatement, exprIndex, v);
}
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/TimeZoneMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/TimeZoneMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/TimeZoneMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -51,7 +51,7 @@
*/
protected String objectToString(Object object)
{
- return converter.toString(object);
+ return converter.toString((TimeZone)object);
}
/**
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URIMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URIMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URIMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -40,7 +40,7 @@
*/
protected String objectToString(Object object)
{
- return converter.toString(object);
+ return converter.toString((URI)object);
}
/**
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URLMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URLMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/URLMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -44,7 +44,7 @@
*/
protected String objectToString(Object object)
{
- return converter.toString(object);
+ return converter.toString((URL)object);
}
/**
Modified: platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/UUIDMapping.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/UUIDMapping.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/mapped/mapping/UUIDMapping.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -44,7 +44,7 @@
*/
protected String objectToString(Object object)
{
- return converter.toString(object);
+ return converter.toString((UUID)object);
}
/**
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/BigDecimalStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/BigDecimalStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/BigDecimalStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -24,12 +24,12 @@
/**
* Class to handle the conversion between java.math.BigDecimal and a String form.
*/
-public class BigDecimalStringConverter implements ObjectStringConverter
+public class BigDecimalStringConverter implements ObjectStringConverter<BigDecimal>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public BigDecimal toObject(String str)
{
if (str == null)
{
@@ -49,17 +49,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(BigDecimal bd)
{
- String str;
- if (obj instanceof BigDecimal)
- {
- str = ((BigDecimal)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return bd != null ? bd.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/BigIntegerStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/BigIntegerStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/BigIntegerStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -24,12 +24,12 @@
/**
* Class to handle the conversion between java.math.BigInteger and a String form.
*/
-public class BigIntegerStringConverter implements ObjectStringConverter
+public class BigIntegerStringConverter implements ObjectStringConverter<BigInteger>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public BigInteger toObject(String str)
{
if (str == null)
{
@@ -49,17 +49,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(BigInteger bi)
{
- String str;
- if (obj instanceof BigInteger)
- {
- str = ((BigInteger)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return bi != null ? bi.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/BitSetStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/BitSetStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/BitSetStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -25,12 +25,12 @@
/**
* Class to handle the conversion between java.util.BitSet and a String form.
*/
-public class BitSetStringConverter implements ObjectStringConverter
+public class BitSetStringConverter implements ObjectStringConverter<BitSet>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public BitSet toObject(String str)
{
if (str == null)
{
@@ -56,21 +56,10 @@
}
/* (non-Javadoc)
- * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
+ * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.util.BitSet)
*/
- public String toString(Object obj)
+ public String toString(BitSet set)
{
- String str;
- if (obj instanceof BitSet)
- {
- BitSet set = (BitSet)obj;
- str = set.toString();
- }
- else
- {
- str = (String)obj;
- }
-
- return str;
+ return set != null ? set.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/CalendarStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/CalendarStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/CalendarStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -27,14 +27,14 @@
/**
* Class to handle the conversion between java.util.Calendar and a String form.
*/
-public class CalendarStringConverter implements ObjectStringConverter
+public class CalendarStringConverter implements ObjectStringConverter<Calendar>
{
static SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Calendar toObject(String str)
{
if (str == null)
{
@@ -55,19 +55,10 @@
}
/* (non-Javadoc)
- * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
+ * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.util.Calendar)
*/
- public String toString(Object obj)
+ public String toString(Calendar cal)
{
- String str;
- if (obj instanceof Calendar)
- {
- str = format.format(((Calendar)obj).getTime());
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return cal != null ? format.format(cal.getTime()) : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/ClassStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/ClassStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/ClassStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -22,7 +22,7 @@
/**
* Class to handle the conversion between java.lang.Class and a String form.
*/
-public class ClassStringConverter implements ObjectStringConverter
+public class ClassStringConverter implements ObjectStringConverter<Class>
{
ClassLoaderResolver clr = null;
@@ -34,7 +34,7 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Class toObject(String str)
{
if (str == null)
{
@@ -56,19 +56,10 @@
}
/* (non-Javadoc)
- * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
+ * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Class)
*/
- public String toString(Object obj)
+ public String toString(Class cls)
{
- String str;
- if (obj instanceof Class)
- {
- str = ((Class)obj).getName();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return cls != null ? cls.getName() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/ColorStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/ColorStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/ColorStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -22,12 +22,12 @@
/**
* Class to handle the conversion between java.awt.Color (RGBA) and a String form.
*/
-public class ColorStringConverter implements ObjectStringConverter
+public class ColorStringConverter implements ObjectStringConverter<Color>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Color toObject(String str)
{
if (str == null)
{
@@ -47,24 +47,19 @@
}
/* (non-Javadoc)
- * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
+ * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.awt.Color)
*/
- public String toString(Object obj)
+ public String toString(Color c)
{
- String str;
- if (obj instanceof Color)
+ if (c == null)
{
- Color c = (Color)obj;
- String r = (c.getRed() < 16) ? "0" + Integer.toHexString(c.getRed()) : Integer.toHexString(c.getRed());
- String g = (c.getGreen() < 16) ? "0" + Integer.toHexString(c.getGreen()) : Integer.toHexString(c.getGreen());
- String b = (c.getBlue() < 16) ? "0" + Integer.toHexString(c.getBlue()) : Integer.toHexString(c.getBlue());
- String a = (c.getAlpha() < 16) ? "0" + Integer.toHexString(c.getAlpha()) : Integer.toHexString(c.getAlpha());
- str = "#" + r + g + b + a;
+ return null;
}
- else
- {
- str = (String)obj;
- }
- return str;
+
+ String r = (c.getRed() < 16) ? "0" + Integer.toHexString(c.getRed()) : Integer.toHexString(c.getRed());
+ String g = (c.getGreen() < 16) ? "0" + Integer.toHexString(c.getGreen()) : Integer.toHexString(c.getGreen());
+ String b = (c.getBlue() < 16) ? "0" + Integer.toHexString(c.getBlue()) : Integer.toHexString(c.getBlue());
+ String a = (c.getAlpha() < 16) ? "0" + Integer.toHexString(c.getAlpha()) : Integer.toHexString(c.getAlpha());
+ return "#" + r + g + b + a;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/CurrencyStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/CurrencyStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/CurrencyStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -22,12 +22,12 @@
/**
* Class to handle the conversion between java.util.Currency and a String form.
*/
-public class CurrencyStringConverter implements ObjectStringConverter
+public class CurrencyStringConverter implements ObjectStringConverter<Currency>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Currency toObject(String str)
{
if (str == null)
{
@@ -40,17 +40,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(Currency curr)
{
- String str;
- if (obj instanceof Currency)
- {
- str = ((Currency)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return curr != null ? curr.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/DateLongConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/DateLongConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/DateLongConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -22,12 +22,12 @@
/**
* Class to handle the conversion between java.util.Date and a Long form.
*/
-public class DateLongConverter implements ObjectLongConverter
+public class DateLongConverter implements ObjectLongConverter<Date>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectLongConverter#toObject(java.lang.Long)
*/
- public Object toObject(Long value)
+ public Date toObject(Long value)
{
if (value == null)
{
@@ -40,17 +40,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectLongConverter#toString(java.lang.Object)
*/
- public Long toLong(Object obj)
+ public Long toLong(Date date)
{
- Long value;
- if (obj instanceof Date)
- {
- value = ((Date)obj).getTime();
- }
- else
- {
- value = (Long)obj;
- }
- return value;
+ return date != null ? date.getTime() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/DateStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/DateStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/DateStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -26,14 +26,14 @@
/**
* Class to handle the conversion between java.util.Date and a String form.
*/
-public class DateStringConverter implements ObjectStringConverter
+public class DateStringConverter implements ObjectStringConverter<Date>
{
static SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Date toObject(String str)
{
if (str == null)
{
@@ -51,19 +51,10 @@
}
/* (non-Javadoc)
- * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
+ * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.util.Date)
*/
- public String toString(Object obj)
+ public String toString(Date date)
{
- String str;
- if (obj instanceof Date)
- {
- str = format.format((Date)obj);
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return date != null ? format.format(date) : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/LocaleStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/LocaleStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/LocaleStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -24,12 +24,12 @@
/**
* Class to handle the conversion between java.util.Currency and a String form.
*/
-public class LocaleStringConverter implements ObjectStringConverter
+public class LocaleStringConverter implements ObjectStringConverter<Locale>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Locale toObject(String str)
{
if (str == null)
{
@@ -42,17 +42,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(Locale loc)
{
- String str;
- if (obj instanceof Locale)
- {
- str = ((Locale)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return loc != null ? loc.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/ObjectLongConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/ObjectLongConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/ObjectLongConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -23,7 +23,7 @@
* Interface for an object that can be converted to/from a Long.
* Used for datastores that allow persistence of Longs but not of a native Java type.
*/
-public interface ObjectLongConverter
+public interface ObjectLongConverter<T>
{
/** Localiser for messages */
static final Localiser LOCALISER = Localiser.getInstance(
@@ -34,12 +34,12 @@
* @param obj The object
* @return Long form
*/
- public Long toLong(Object obj);
+ public Long toLong(T obj);
/**
* Method to convert from Long back to the object.
* @param value The long
* @return The object
*/
- public Object toObject(Long value);
+ public T toObject(Long value);
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/ObjectStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/ObjectStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/ObjectStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -23,7 +23,7 @@
* Interface for an object that can be converted to/from a String.
* Used for datastores that allow persistence of Strings but not of a native Java type.
*/
-public interface ObjectStringConverter
+public interface ObjectStringConverter<T>
{
/** Localiser for messages */
static final Localiser LOCALISER = Localiser.getInstance(
@@ -34,12 +34,12 @@
* @param obj The object
* @return String form
*/
- public String toString(Object obj);
+ public String toString(T obj);
/**
* Method to convert from String back to the object.
* @param str The string
* @return The object
*/
- public Object toObject(String str);
+ public T toObject(String str);
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/PointStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/PointStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/PointStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -26,12 +26,12 @@
* Class to handle the conversion between java.awt.Point and a String form.
* The String form is <pre>(x,y)</pre>
*/
-public class PointStringConverter implements ObjectStringConverter
+public class PointStringConverter implements ObjectStringConverter<Point>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Point toObject(String str)
{
if (str == null)
{
@@ -82,20 +82,10 @@
}
/* (non-Javadoc)
- * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
+ * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.awt.Point)
*/
- public String toString(Object obj)
+ public String toString(Point p)
{
- String str;
- if (obj instanceof Point)
- {
- Point p = (Point)obj;
- str = "(" + p.getX() + "," + p.getY() + ")";
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return p != null ? "(" + p.getX() + "," + p.getY() + ")" : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/RectangleStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/RectangleStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/RectangleStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -26,12 +26,12 @@
* Class to handle the conversion between java.awt.Rectangle and a String form.
* The String form is <pre>(x,y,width,height)</pre>
*/
-public class RectangleStringConverter implements ObjectStringConverter
+public class RectangleStringConverter implements ObjectStringConverter<Rectangle>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public Rectangle toObject(String str)
{
if (str == null)
{
@@ -120,18 +120,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(Rectangle rect)
{
- String str;
- if (obj instanceof Rectangle)
- {
- Rectangle r = (Rectangle)obj;
- str = "(" + r.getX() + "," + r.getY() + "," + r.getWidth() + "," + r.getHeight() + ")";
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return rect != null ? "(" + rect.getX() + "," + rect.getY() + "," + rect.getWidth() + "," + rect.getHeight() + ")" : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/StringBufferStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/StringBufferStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/StringBufferStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -17,16 +17,15 @@
**********************************************************************/
package org.datanucleus.store.types;
-
/**
* Class to handle the conversion between java.lang.StringBuffer and a String form.
*/
-public class StringBufferStringConverter implements ObjectStringConverter
+public class StringBufferStringConverter implements ObjectStringConverter<StringBuffer>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public StringBuffer toObject(String str)
{
if (str == null)
{
@@ -39,17 +38,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(StringBuffer str)
{
- String str;
- if (obj instanceof StringBuffer)
- {
- str = ((StringBuffer)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return str != null ? str.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/TimeZoneStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/TimeZoneStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/TimeZoneStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -22,12 +22,12 @@
/**
* Class to handle the conversion between java.util.TimeZone and a String form.
*/
-public class TimeZoneStringConverter implements ObjectStringConverter
+public class TimeZoneStringConverter implements ObjectStringConverter<TimeZone>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public TimeZone toObject(String str)
{
if (str == null)
{
@@ -38,19 +38,10 @@
}
/* (non-Javadoc)
- * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
+ * @see org.datanucleus.store.types.ObjectStringConverter#toString(java.util.TimeZone)
*/
- public String toString(Object obj)
+ public String toString(TimeZone tz)
{
- String str;
- if (obj instanceof TimeZone)
- {
- str = ((TimeZone) obj).getID();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return tz != null ? tz.getID() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/URIStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/URIStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/URIStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -22,12 +22,12 @@
/**
* Class to handle the conversion between java.net.URI and a String form.
*/
-public class URIStringConverter implements ObjectStringConverter
+public class URIStringConverter implements ObjectStringConverter<URI>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public URI toObject(String str)
{
if (str == null)
{
@@ -40,17 +40,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(URI uri)
{
- String str;
- if (obj instanceof URI)
- {
- str = ((URI)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return uri != null ? uri.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/URLStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/URLStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/URLStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -25,12 +25,12 @@
/**
* Class to handle the conversion between java.net.URL and a String form.
*/
-public class URLStringConverter implements ObjectStringConverter
+public class URLStringConverter implements ObjectStringConverter<URL>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public URL toObject(String str)
{
if (str == null)
{
@@ -52,17 +52,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(URL url)
{
- String str;
- if (obj instanceof URL)
- {
- str = ((URL)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return url != null ? url.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/UUIDStringConverter.java
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/UUIDStringConverter.java 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/UUIDStringConverter.java 2011-10-10 09:42:20 UTC (rev 13665)
@@ -22,12 +22,12 @@
/**
* Class to handle the conversion between java.util.UUID and a String form.
*/
-public class UUIDStringConverter implements ObjectStringConverter
+public class UUIDStringConverter implements ObjectStringConverter<UUID>
{
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toObject(java.lang.String)
*/
- public Object toObject(String str)
+ public UUID toObject(String str)
{
if (str == null)
{
@@ -40,17 +40,8 @@
/* (non-Javadoc)
* @see org.datanucleus.store.types.ObjectStringConverter#toString(java.lang.Object)
*/
- public String toString(Object obj)
+ public String toString(UUID uuid)
{
- String str;
- if (obj instanceof UUID)
- {
- str = ((UUID)obj).toString();
- }
- else
- {
- str = (String)obj;
- }
- return str;
+ return uuid != null ? uuid.toString() : null;
}
}
\ No newline at end of file
Modified: platform/core/trunk/src/java/org/datanucleus/store/types/package.html
===================================================================
--- platform/core/trunk/src/java/org/datanucleus/store/types/package.html 2011-10-08 13:07:41 UTC (rev 13664)
+++ platform/core/trunk/src/java/org/datanucleus/store/types/package.html 2011-10-10 09:42:20 UTC (rev 13665)
@@ -4,4 +4,7 @@
<b>ObjectStringConverter</b> provides an interface for converting between a java type and a String
for particular benefit in datastores that don't support native handling of that type. Each java type
that provides conversion to String has its own implementation of this interface.
+ <b>ObjectLongConverter</b> provides an interface for converting between a java type and a Long
+ for particular benefit in datastores that don't support native handling of that type. Each java type
+ that provides conversion to Long has its own implementation of this interface.
</BODY>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|