通过get,set方法修改类属性值:
public String[] timeName = { "nextFireTime", "prevFireTime", "startTime", "endTime" };
public Triggers changeValue(Triggers trigger)
{
for (String fieldName : timeName) {
Class triggerClass = trigger.getClass();
String methodNameGet = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
try {
Method methodGet = triggerClass.getDeclaredMethod(methodNameGet, null);
String returnValue = (String) methodGet.invoke(trigger, null);
if (returnValue != null && !(returnValue.equals("0") && !(returnValue.equals("-1")))) {
Long returnValueL = Long.parseLong(returnValue);
Date returnValueDate = new Date(returnValueL);
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String returnValueStr = format1.format(returnValueDate);
String methodNameSet = "set" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
Method methodSet = triggerClass.getDeclaredMethod(methodNameSet, String.class);
methodSet.invoke(trigger, returnValueStr);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return trigger;
}