光輝歲月

导航

 
/**
	 * 根据属性名获取属性值
	 * @param fieldName		属性名
	 * @param o				传入对象
	 * @return
	 */
	private Object getFieldValueByName(String fieldName, Object o) {
 		try {
			String firstLetter = fieldName.substring(0, 1).toUpperCase();
			String getter = "get" + firstLetter + fieldName.substring(1);
			Method method = o.getClass().getMethod(getter, new Class[] {});
			Class c= method.getReturnType();
			if(!String.class.isAssignableFrom(c)){
				return null;
			}
			Object value = method.invoke(o, new Object[] {});
			return value;
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e.getMessage(), e);
			return null;
		}
	}
	
	/**
	 * 获取防止注入新的对象
	 * @param o					传入对象
	 * @return
	 */
	public Object getRightParameterObject(Object o){
		try{
			String[] strs=getFiledName(o);//属性名数组
			for(String s:strs){
				Object obj=getFieldValueByName(s, o);//属性值
				if(obj == null){
					continue;
				}
				String firstLetter = s.substring(0, 1).toUpperCase();
				String getter = "set" + firstLetter + s.substring(1);
				System.out.println(getter);
				Method method = o.getClass().getMethod(getter, String.class);
				method.invoke(o,StringUtil.getWhereNewValue(obj.toString()));//这个地方对属性值进行操作,对属性值过滤什么的
				//}
			}
		} catch(Exception e){
			logger.error(e.getMessage(), e);
			return null;
		}finally {
			
		}
		return o;
	}
	
	
	/**
	 * 获取对象的所有属性值,返回一个对象数组
	 * @param o					传入对象
	 */
	private Object[] getFiledValues(Object o) {
		String[] fieldNames = this.getFiledName(o);
		Object[] value = new Object[fieldNames.length];
		for (int i = 0; i < fieldNames.length; i++) {
			value[i] = this.getFieldValueByName(fieldNames[i], o);
		}
		return value;
	}
    
	
	/**
	 * 获取属性名数组
	 * @param o					传入对象
	 */
	private String[] getFiledName(Object o) {
		Field[] fields = o.getClass().getDeclaredFields();
		String[] fieldNames = new String[fields.length];
		for (int i = 0; i < fields.length; i++) {
			//System.out.println(fields[i].getType());
			fieldNames[i] = fields[i].getName();
		}
		return fieldNames;
	}

  

posted on 2017-10-09 17:22  光輝歲月  阅读(1106)  评论(0编辑  收藏  举报