Пример #1
0
  /**
   * 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);
  }