Package de.mhus.lib.form.annotations

Examples of de.mhus.lib.form.annotations.FormElement


      else
      if (methodName.startsWith("get")) methodName = methodName.substring(3);
      else
      if (methodName.startsWith("is")) methodName = methodName.substring(2);

      FormElement element = method.getAnnotation(FormElement.class);
      FormSchemas form = method.getAnnotation(FormSchemas.class);
     
      if (form != null) {
        for (FormElement e : form.value()) {
          if (schema.equals(e.schema())) {
            element = e;
            break;
          }
           
        }
      }
     
      if (element != null) {
        if (element.type() == TYPE.INCLUDE) {
          String aspectName = null;
          if (!MString.isEmpty(element.aspect()))
              aspectName = prefix + element.aspect() + ".";
          else
            aspectName = prefix + methodName + ".";
         
          MForm innerTarget = (MForm) method.invoke(target);
          if (innerTarget != null) {
            ObjectList nextList = list;
            if (!MString.isEmpty(element.group())) {
              nextList = findGroupList(element, list);
              aspectName = "";
            }
            parseElements(aspectName, innerTarget, nextList);
          }       
        } else
        if (element.type() == TYPE.GROUP) {
         
          FGroup next = new FGroup();
          list.add(next);
          next.initialize(this);

          String aspectName = null;
          if (!MString.isEmpty(element.aspect()))
              aspectName = prefix + element.aspect() + ".";
          else
            aspectName = prefix + methodName + ".";
         
          next.setTargetFinder(new TargetFinderWithMethod(method));
          // next.setParent();
          MForm innerTarget = next.getTarget();
          if (innerTarget != null) {
            ObjectList nextList = next.getList();
            parseElements(aspectName, innerTarget, nextList);
          }       
        } else {
          FormSortId idx = method.getAnnotation(FormSortId.class);
          IConfig xmlElement = fillElement(prefix,method, toXmlString(element,methodName));
         
          ObjectList nextList = list;
          if (!MString.isEmpty(element.group())) {
            nextList = findGroupList(element, list);
          }
         
          FObject next = createModelObjectFromXml(xmlElement,target, nextList);
         
          if (next != null && element.sort() >= 0)
            next.setSortId(element.sort());
          else
          if (next != null && idx != null)
            next.setSortId(idx.value());
      }
      }
View Full Code Here


    return next;
  }
 
  private void parseClass() throws SAXException, IOException {
   
    FormElement element = getTarget().getClass().getAnnotation(FormElement.class);
   
    FormSchemas schemas = getTarget().getClass().getAnnotation(FormSchemas.class);
   
    if (schemas != null) {
      for (FormElement e : schemas.value()) {
        if (schema.equals(e.schema())) {
          element = e;
          break;
        }
       
      }
    }
       
    if (element != null) {
      ClassHandler handler = new ClassHandler();
      String xml = element.value();
      if (!MString.isEmpty(xml)) {
        if (!xml.startsWith("<"))
          xml = "<panel " + xml + "/>";
      } else {
        xml = "<panel name='"+ getTarget().getClass().getCanonicalName() + "' title='" + MXml.encode(element.title()) + "' nls='" + MXml.encode(element.nls())+ "' " + element.more() + "/>";
      }
      parser.parse(new ByteArrayInputStream(xml.getBytes()), handler);
     
    }
   
View Full Code Here

TOP

Related Classes of de.mhus.lib.form.annotations.FormElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.