/** * DOCUMENT ME! * * @param object DOCUMENT ME! * @param fieldName DOCUMENT ME! * @param fieldType DOCUMENT ME! * @param value DOCUMENT ME! * @throws SecurityException DOCUMENT ME! * @throws NoSuchMethodException DOCUMENT ME! * @throws IllegalArgumentException DOCUMENT ME! * @throws IllegalAccessException DOCUMENT ME! * @throws InvocationTargetException DOCUMENT ME! * @throws IllegalStateException DOCUMENT ME! */ public static void setProperty(Object object, String fieldName, Class fieldType, Object value) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { Method method = object.getClass().getMethod(getSetterMethodName(fieldName), fieldType); if (fieldType.equals(boolean.class) || fieldType.equals(Boolean.class)) { Integer temp = (Integer) value; if (temp.intValue() == 0) { value = Boolean.FALSE; } else if (temp.intValue() == 1) { value = Boolean.TRUE; } else { throw new IllegalStateException(); } } else if (fieldType.equals(byte.class) || fieldType.equals(Byte.class)) { Integer temp = (Integer) value; value = new Byte(temp.byteValue()); } Log.v(TAG, fieldName + " " + fieldType + " " + value); method.invoke(object, value); }