private <T> void setEnumField(Field field, Class<?> fieldClass, T object, String value) throws SerializationException { if(field.isFinal()) { throw new SerializationException("Cannot use @Field on final enum fields. Use the @ConstructorArg method instead."); } try { field.set(object, Enum.valueOf((Class<Enum>) fieldClass, value)); } catch (ReflectionException e) { throw new SerializationException(e.getMessage(), e); } }
private <T> void setPrimitiveField(Field field, Class<?> fieldClass, T object, String value) throws SerializationException { if(field.isFinal()) { throw new SerializationException("Cannot use @Field on final " + fieldClass.getName() + " fields."); } try { if (fieldClass.equals(Boolean.TYPE) || fieldClass.equals(Boolean.class)) { field.set(object, Boolean.parseBoolean(value)); } else if (fieldClass.equals(Byte.TYPE) || fieldClass.equals(Byte.class)) { field.set(object, Byte.parseByte(value)); } else if (fieldClass.equals(Character.TYPE) || fieldClass.equals(Character.class)) { field.set(object, value.charAt(0)); } else if (fieldClass.equals(Double.TYPE) || fieldClass.equals(Double.class)) { field.set(object, Double.parseDouble(value)); } else if (fieldClass.equals(Float.TYPE) || fieldClass.equals(Float.class)) { field.set(object, Float.parseFloat(value)); } else if (fieldClass.equals(Integer.TYPE) || fieldClass.equals(Integer.class)) { field.set(object, Integer.parseInt(value)); } else if (fieldClass.equals(Long.TYPE) || fieldClass.equals(Long.class)) { field.set(object, Long.parseLong(value)); } else if (fieldClass.equals(Short.TYPE) || fieldClass.equals(Short.class)) { field.set(object, Short.parseShort(value)); } else { field.set(object, value); } } catch (Exception e) { throw new SerializationException(e.getMessage(), e); } }
public DeserializedCollection(Field field, Class<?> fieldClass, Object object) throws ReflectionException { super(); this.field = field; this.fieldClass = fieldClass; if(field.isFinal()) { collection = (T) field.get(object); } else { collection = (T) (fieldClass.isInterface() ? ClassReflection.newInstance(getFallbackImplementation()) : ClassReflection.newInstance(fieldClass)); field.set(object, collection); } }
public DeserializedMap(Field field, Class<?> fieldClass, Object object) throws ReflectionException { super(); this.field = field; this.fieldClass = fieldClass; if(field.isFinal()) { map = (T) field.get(object); } else { map = (T) (fieldClass.isInterface() ? ClassReflection.newInstance(getFallbackImplementation()) : ClassReflection.newInstance(fieldClass)); field.set(object, map); } }
if(field.isFinal()) { throw new SerializationException("Cannot use @Field on final enum fields. Use the @ConstructorArg method instead."); if(field.isFinal()) { throw new SerializationException("Cannot use @Field on final String fields. Use the @ConstructorArg method instead."); if(deserializedCollection != null) { setSerializedCollectionField(deserializedCollection, targetObject, field, clazz, value); } else if(field.isFinal()) { throw new SerializationException("Cannot use @Field on final " + clazz.getName() +" fields."); } else { if(field.isFinal()) { throw new SerializationException("Cannot use @Field on final " + clazz.getName() +" fields. Use the @ConstructorArg method instead.");
xmlReader.next(); setSerializedCollectionField(xmlReader, deserializedCollection, currentField, fieldClass, result); } else if(currentField.isFinal()) { throw new SerializationException("Cannot use @Field on final " + fieldClass.getName() + " fields."); } else {
if (clazz.equals(boolean[].class)) { boolean [] result = value.asBooleanArray(); if(field.isFinal()) { Object targetArray = field.get(targetObject); for(int i = 0; i < result.length; i++) { if(field.isFinal()) { Object targetArray = field.get(targetObject); for(int i = 0; i < result.length; i++) { if(field.isFinal()) { Object targetArray = field.get(targetObject); for(int i = 0; i < result.length; i++) { if(field.isFinal()) { Object targetArray = field.get(targetObject); for(int i = 0; i < result.length; i++) { if(field.isFinal()) { Object targetArray = field.get(targetObject); for(int i = 0; i < result.length; i++) { if(field.isFinal()) { Object targetArray = field.get(targetObject); for(int i = 0; i < result.length; i++) { if(field.isFinal()) { Object targetArray = field.get(targetObject); for(int i = 0; i < result.length; i++) {