logback-android/src/main/java/ch/qos/logback/core/joran/util/PropertySetter.java
public void setProperty(PropertyDescriptor prop, String name, String value)
      throws PropertySetterException {
    Method setter = prop.getWriteMethod();

    if (setter == null) {
      throw new PropertySetterException("No setter for property [" + name
          + "].");
    }

    Class<?>[] paramTypes = setter.getParameterTypes();

    if (paramTypes.length != 1) {
      throw new PropertySetterException("#params for setter != 1");
    }

    Object arg;

    try {
      arg = StringToObjectConverter.convertArg(this, value, paramTypes[0]);
    } catch (Throwable t) {
      throw new PropertySetterException("Conversion to type [" + paramTypes[0]
          + "] failed. ", t);
    }

    if (arg == null) {
      throw new PropertySetterException("Conversion to type [" + paramTypes[0]
          + "] failed.");
    }
    try {
      setter.invoke(obj, arg);
    } catch (Exception ex) {
      throw new PropertySetterException(ex);
    }
  }
public void setProperty(PropertyDescriptor prop, String name, String value)
      throws PropertySetterException {
    Method setter = prop.getWriteMethod();

    if (setter == null) {
      throw new PropertySetterException("No setter for property [" + name
          + "].");
    }

    Class<?>[] paramTypes = setter.getParameterTypes();

    if (paramTypes.length != 1) {
      throw new PropertySetterException("#params for setter != 1");
    }

    Object arg;

    try {
      arg = StringToObjectConverter.convertArg(this, value, paramTypes[0]);
    } catch (Throwable t) {
      throw new PropertySetterException("Conversion to type [" + paramTypes[0]
          + "] failed. ", t);
    }

    if (arg == null) {
      throw new PropertySetterException("Conversion to type [" + paramTypes[0]
          + "] failed.");
    }
    try {
      setter.invoke(obj, arg);
    } catch (Exception ex) {
      throw new PropertySetterException(ex);
    }
  }
public void setProperty ( PropertyDescriptor prop , String name , String value ) throws PropertySetterException { Method setter = prop . getWriteMethod ( ) ; if ( setter == null ) { throw new PropertySetterException ( "No setter for property [" + name + "]." ) ; } Class < ? > [ ] paramTypes = setter . getParameterTypes ( ) ; if ( paramTypes . length != 1 ) { throw new PropertySetterException ( "#params for setter != 1" ) ; } Object arg ; try { arg = StringToObjectConverter . convertArg ( this , value , paramTypes [ 0 ] ) ; } catch ( Throwable t ) { throw new PropertySetterException ( "Conversion to type [" + paramTypes [ 0 ] + "] failed. " , t ) ; } if ( arg == null ) { throw new PropertySetterException ( "Conversion to type [" + paramTypes [ 0 ] + "] failed." ) ; } try { setter . invoke ( obj , arg ) ; } catch ( Exception ex ) { throw new PropertySetterException ( ex ) ; } }
Set the named property given a {@link PropertyDescriptor}.

@param prop
A PropertyDescriptor describing the characteristics of the
property to set.
@param name
The named of the property to set.
@param value
The value of the property.
@throws PropertySetterException
No setter for property; setter's argument list is not equal to 1; parameter conversion failure
Set the named property given a { @link PropertyDescriptor } .