Transmorph é uma biblioteca em java usada para converter objetos em Java em diferentes tipos. A versão liberada é a 1.0.0 e está disponível gratuitamente para uso.
Alguns pontos principais.
- suporta conversões de primitivos e objetos
- suporta conversões de arrays multidimensionais
- suporta conversões de collections parametrizadas e tipos
- jars disponívels para as versões 1.4 e 1.5 da JDK
- sem dependências
- facilidade de adicionar converters
Exemplos:
// int[] to a List<Integer>
List<Integer> listOfInts = (List<Integer>) converter.convert(new int[] { 0, 1, 2, 3, 4, 5 },
List.class, new Class[] { Integer.class });
// Map<String,String[]> to a Map<String, List><String>
Map<String, List><String>> converted = (Map<String, List><String>>) converter.convert(map,
"Ljava/util/Map<Ljava/lang/String;Ljava/util/List><Ljava/lang/String;>;>;");
// int[] => LinkedList<Integer> (ArrayToListConverter)
LinkedList linkedList = (LinkedList) converter.convert(
new int[] { 0, 1, 2, 3, 4, 5 },
LinkedList.class,
new Class[] { Integer.class });
// int[][] => String[][] (ArrayToArrayConverter)
int[][] arrayOfArrayOfInts = new int[][] { { 11, 12, 13 },
{ 21, 22, 23 }, { 31 } };
String[][] arrayOfArrayOfStrings = (String[][]) converter.convert(arrayOfArrayOfInts,
(new String[0][0]).getClass());
Fonte: TheServerSide