package WEB-INF.classes.wenrgise.hrms.webtier.form;

import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import wenrgise.hrms.webtier.form.HrmBaseForm;

public class JasperReportForm extends HrmBaseForm {
  private static final long serialVersionUID = 19981017L;
  
  private String downloadOption;
  
  public String getDownloadOption() {
    return this.downloadOption;
  }
  
  public void setDownloadOption(String newDownloadOption) {
    this.downloadOption = newDownloadOption;
  }
  
  public Serializable getData(HttpServletRequest req) {
    HashMap data = new HashMap();
    Class formBeanClass = getClass();
    Method[] methods = formBeanClass.getDeclaredMethods();
    StringBuffer fieldName = new StringBuffer();
    for (int i = 0; i < methods.length; i++) {
      String methodName = methods[i].getName();
      if (methodName.startsWith("get") && (
        methods[i].getParameterTypes()).length <= 0)
        try {
          Object val = methods[i].invoke(this, null);
          if (null != val && val instanceof String && ((String)val).trim().length() == 0)
            val = null; 
          fieldName.append(methodName.substring(3, 4).toLowerCase());
          fieldName.append(methodName.substring(4));
          data.put(fieldName.toString(), val);
          fieldName.delete(0, fieldName.length());
        } catch (Exception e) {
          e.printStackTrace();
        }  
    } 
    return data;
  }
}
