r01f.marshalling.simple
Class MappingReflectionUtils

java.lang.Object
  extended by r01f.marshalling.simple.MappingReflectionUtils

 class MappingReflectionUtils
extends java.lang.Object

Utilidades Reflection para el mapeador de xml a objetos


Constructor Summary
MappingReflectionUtils()
           
 
Method Summary
private static java.util.List<java.lang.Object> _listInstance(DataTypes.DataTypeEnum listType, int listLength)
          Obtiene una instancia de la lista requerida
private static java.util.Map<java.lang.Object,java.lang.Object> _mapInstance(DataTypes.DataTypeEnum mapType, int mapLength)
          Obtiene una instancia del mapa requerido
private static java.lang.Object _simpleObjFromString(DataTypes.DataType dataType, java.lang.String valueStr)
          Obtiene un objeto del tipo correcto a partir de la cadena
(package private) static
<T> T
createObjectInstance(BeanMap newBeanMap)
          Instancia una clase utilizando reflection a partir de la definición de la clase
static java.lang.String formatAsString(java.lang.Object value, DataTypes.DataType dataType)
          Formatea el valor de un miembro como un String, PERO SOLO en el caso de que el objeto sea un tipo "simple" (String, Long, StringBuilder, Date, etc)
(package private) static java.util.Collection<?> getCollectionElements(java.lang.Object colObj)
          Obtiene los elementos de una colección, independientemente de que la colección sea un mapa, una lista o un array - Si es una lista o un array se devuelve una colección con los objetos - Si es un mapa se devuelve una colección de Map.Entry
(package private) static
<T> T
getFieldValue(java.lang.Object obj, java.lang.String fieldName, boolean useAccessors)
          Obtiene el valor de un miembro de un objeto
static boolean isSimple(java.lang.Object value)
          Devuelve si un objeto es simple o no viendo si es una instancia simple
(package private) static void setFieldValue(java.lang.Object obj, FieldMap fieldMap, java.lang.Object value)
          Establece el valor de una variable miembro de una clase Para ello utiliza reflection y antes de nada convierte al tipo de dato correcto.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MappingReflectionUtils

MappingReflectionUtils()
Method Detail

createObjectInstance

static <T> T createObjectInstance(BeanMap newBeanMap)
                       throws ReflectionException
Instancia una clase utilizando reflection a partir de la definición de la clase

Parameters:
newBeanMap - la definición de mapeo xml-obj del nuevo objeto
Returns:
la instancia de la clase creada
Throws:
ReflectionException - si ocurre algún error al obtener la instancia

getFieldValue

static <T> T getFieldValue(java.lang.Object obj,
                           java.lang.String fieldName,
                           boolean useAccessors)
Obtiene el valor de un miembro de un objeto

Parameters:
obj - el objeto
fieldName - el nombre del miembro
useAccessors - true si hay que utilizar métodos get/set
Returns:
el valor del miembro

getCollectionElements

static java.util.Collection<?> getCollectionElements(java.lang.Object colObj)
Obtiene los elementos de una colección, independientemente de que la colección sea un mapa, una lista o un array - Si es una lista o un array se devuelve una colección con los objetos - Si es un mapa se devuelve una colección de Map.Entry

Parameters:
colObj - la colección (mapa, lista o array)
Returns:
una colección con los elementos

setFieldValue

static void setFieldValue(java.lang.Object obj,
                          FieldMap fieldMap,
                          java.lang.Object value)
                   throws ReflectionException
Establece el valor de una variable miembro de una clase Para ello utiliza reflection y antes de nada convierte al tipo de dato correcto.

Parameters:
obj - El objeto cuya variable hay que establecer
fieldMap - La definicion del miembro
value - El valor del miembro
Throws:
ReflectionException - si ocurre algún error al obtener la instancia

formatAsString

public static java.lang.String formatAsString(java.lang.Object value,
                                              DataTypes.DataType dataType)
Formatea el valor de un miembro como un String, PERO SOLO en el caso de que el objeto sea un tipo "simple" (String, Long, StringBuilder, Date, etc)

Parameters:
value - valor del miembro
dataType - el tipo de dato
Returns:
el miembro formateado como un String o null si NO el miembro no es un tipo simple

isSimple

public static boolean isSimple(java.lang.Object value)
Devuelve si un objeto es simple o no viendo si es una instancia simple

Parameters:
value - el objeto
Returns:
true si el objeto es simple

_simpleObjFromString

private static java.lang.Object _simpleObjFromString(DataTypes.DataType dataType,
                                                     java.lang.String valueStr)
Obtiene un objeto del tipo correcto a partir de la cadena

Parameters:
dataType - el tipo de dato a obtener
valueStr - la cadena con los datos
Returns:

_listInstance

private static java.util.List<java.lang.Object> _listInstance(DataTypes.DataTypeEnum listType,
                                                              int listLength)
                                                       throws ReflectionException
Obtiene una instancia de la lista requerida

Parameters:
listType - El tipo de lista
listLength - La longitud de la lista (optimizar memoria)
Returns:
una instancia de un objeto que implementa el interfaz list
Throws:
ReflectionException - si ocurre algún error al obtener la instancia de la lista

_mapInstance

private static java.util.Map<java.lang.Object,java.lang.Object> _mapInstance(DataTypes.DataTypeEnum mapType,
                                                                             int mapLength)
                                                                      throws ReflectionException
Obtiene una instancia del mapa requerido

Parameters:
mapType - tipo de mapa
mapLength - El tamaño inicial del mapa
Returns:
Una instancia del mapa
Throws:
ReflectionException - si ocurre algún error al obtener el mapa