code: public long getNum(Object obj) throws IllegalArgumentException,
  			IllegalAccessException, InvocationTargetException,
  			BeanPropertyException, NoSuchMethodException {
  		switch (getTypeCode()) {
  		case SHORT:
  			if (m_f != null)
  				return (long) m_f.getShort(obj);
  			if (m_mGet != null)
  				return ((Short) m_mGet.invoke(obj, EMPTYOBJECTARRAY))
  						.shortValue();
  			break;
  		case INTEGER:
  			if (m_f != null)
  				return (long) m_f.getInt(obj);
  			if (m_mGet != null)
  				return ((Integer) m_mGet.invoke(obj, EMPTYOBJECTARRAY))
  						.intValue();
  			break;
  		case LONG:
  			if (m_f != null)
  				return m_f.getLong(obj);
  			if (m_mGet != null)
  				return ((Long) m_mGet.invoke(obj, EMPTYOBJECTARRAY))
  						.longValue();
  			break;
  		default:
  			throw new BeanPropertyException("Property is not numeric.");
  		}
  
  		throw new BeanPropertyException("Try to read write-only property.");
  	}
docs: 获取数值型的属性值
  
  @throws IllegalAccessException
  @throws IllegalArgumentException
  @throws InvocationTargetException
  @throws BeanPropertyException