mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Added String-Class conversions
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16216 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -77,6 +77,7 @@ import org.alfresco.util.VersionNumber;
|
|||||||
* @author andyh
|
* @author andyh
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
public class DefaultTypeConverter
|
public class DefaultTypeConverter
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -94,6 +95,21 @@ public class DefaultTypeConverter
|
|||||||
// From string
|
// From string
|
||||||
//
|
//
|
||||||
|
|
||||||
|
INSTANCE.addConverter(String.class, Class.class, new TypeConverter.Converter<String, Class>()
|
||||||
|
{
|
||||||
|
public Class convert(String source)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Class.forName(source);
|
||||||
|
}
|
||||||
|
catch (ClassNotFoundException e)
|
||||||
|
{
|
||||||
|
throw new TypeConversionException("Failed to convert string to class: " + source, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
INSTANCE.addConverter(String.class, Boolean.class, new TypeConverter.Converter<String, Boolean>()
|
INSTANCE.addConverter(String.class, Boolean.class, new TypeConverter.Converter<String, Boolean>()
|
||||||
{
|
{
|
||||||
public Boolean convert(String source)
|
public Boolean convert(String source)
|
||||||
@@ -418,6 +434,16 @@ public class DefaultTypeConverter
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// From Class
|
||||||
|
|
||||||
|
INSTANCE.addConverter(Class.class, String.class, new TypeConverter.Converter<Class, String>()
|
||||||
|
{
|
||||||
|
public String convert(Class source)
|
||||||
|
{
|
||||||
|
return source.getName();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
//
|
//
|
||||||
// Number to Subtypes and Date
|
// Number to Subtypes and Date
|
||||||
//
|
//
|
||||||
|
@@ -117,6 +117,8 @@ public class DefaultTypeConverterTest extends TestCase
|
|||||||
// Period
|
// Period
|
||||||
assertEquals("period", DefaultTypeConverter.INSTANCE.convert(String.class, new Period("period")));
|
assertEquals("period", DefaultTypeConverter.INSTANCE.convert(String.class, new Period("period")));
|
||||||
assertEquals("period|12", DefaultTypeConverter.INSTANCE.convert(String.class, new Period("period|12")));
|
assertEquals("period|12", DefaultTypeConverter.INSTANCE.convert(String.class, new Period("period|12")));
|
||||||
|
// Java Class
|
||||||
|
assertEquals(this.getClass(), DefaultTypeConverter.INSTANCE.convert(Class.class, this.getClass().getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testFromString()
|
public void testFromString()
|
||||||
@@ -155,6 +157,8 @@ public class DefaultTypeConverterTest extends TestCase
|
|||||||
|
|
||||||
assertEquals(new Period("period"), DefaultTypeConverter.INSTANCE.convert(Period.class, "period"));
|
assertEquals(new Period("period"), DefaultTypeConverter.INSTANCE.convert(Period.class, "period"));
|
||||||
assertEquals(new Period("period|12"), DefaultTypeConverter.INSTANCE.convert(Period.class, "period|12"));
|
assertEquals(new Period("period|12"), DefaultTypeConverter.INSTANCE.convert(Period.class, "period|12"));
|
||||||
|
// Java Class
|
||||||
|
assertEquals(this.getClass().getName(), DefaultTypeConverter.INSTANCE.convert(String.class, this.getClass()));
|
||||||
}
|
}
|
||||||
|
|
||||||
String localeStrEn = DefaultTypeConverter.INSTANCE.convert(String.class, Locale.ENGLISH);
|
String localeStrEn = DefaultTypeConverter.INSTANCE.convert(String.class, Locale.ENGLISH);
|
||||||
@@ -225,6 +229,8 @@ public class DefaultTypeConverterTest extends TestCase
|
|||||||
assertEquals(new BigInteger("7"), DefaultTypeConverter.INSTANCE.convert(BigInteger.class, Integer.valueOf("7")));
|
assertEquals(new BigInteger("7"), DefaultTypeConverter.INSTANCE.convert(BigInteger.class, Integer.valueOf("7")));
|
||||||
assertEquals(new BigDecimal("8"), DefaultTypeConverter.INSTANCE.convert(BigDecimal.class, Integer.valueOf("8")));
|
assertEquals(new BigDecimal("8"), DefaultTypeConverter.INSTANCE.convert(BigDecimal.class, Integer.valueOf("8")));
|
||||||
|
|
||||||
|
assertEquals(Boolean.TRUE, DefaultTypeConverter.INSTANCE.convert(Boolean.class, Long.valueOf("1")));
|
||||||
|
assertEquals(Boolean.FALSE, DefaultTypeConverter.INSTANCE.convert(Boolean.class, Long.valueOf("0")));
|
||||||
assertEquals(Byte.valueOf("1"), DefaultTypeConverter.INSTANCE.convert(Byte.class, Long.valueOf("1")));
|
assertEquals(Byte.valueOf("1"), DefaultTypeConverter.INSTANCE.convert(Byte.class, Long.valueOf("1")));
|
||||||
assertEquals(Short.valueOf("2"), DefaultTypeConverter.INSTANCE.convert(Short.class, Long.valueOf("2")));
|
assertEquals(Short.valueOf("2"), DefaultTypeConverter.INSTANCE.convert(Short.class, Long.valueOf("2")));
|
||||||
assertEquals(Integer.valueOf("3"), DefaultTypeConverter.INSTANCE.convert(Integer.class, Long.valueOf("3")));
|
assertEquals(Integer.valueOf("3"), DefaultTypeConverter.INSTANCE.convert(Integer.class, Long.valueOf("3")));
|
||||||
|
Reference in New Issue
Block a user