Package org.apache.myfaces.tobago.apt.generate

Examples of org.apache.myfaces.tobago.apt.generate.ComponentInfo


      writeFile(tagInfo, stringTemplate);
    }

    if (componentTag.generate()) {
      StringTemplate componentStringTemplate = componentStringTemplateGroup.getInstanceOf("component");
      ComponentInfo componentInfo = new ComponentInfo(declaration, componentTag);
      componentInfo.setSuperClass(componentTag.uiComponentBaseClass());
      componentInfo.setDescription(getDescription(declaration));
      componentInfo.setDeprecated(declaration.getAnnotation(Deprecated.class) != null);
      for (String interfaces : componentTag.interfaces()) {
        componentInfo.addInterface(interfaces);
      }

      Class<? extends UIComponent> facesClass
          = Class.forName(componentTag.uiComponentFacesClass()).asSubclass(UIComponent.class);
View Full Code Here


  protected void addElement(
      TypeElement typeElement, List<org.jdom.Element> components, List<org.jdom.Element> renderer,
      final Namespace namespace) throws Exception {
    UIComponentTag componentTag = typeElement.getAnnotation(UIComponentTag.class);
    if (componentTag != null) {
      ComponentInfo componentInfo = new ComponentInfo(typeElement, componentTag);
      if (!componentTag.isComponentAlreadyDefined()) {
        org.jdom.Element element = createComponentElement(componentInfo, componentTag, namespace);
        if (element != null) {
          if (!containsElement(components, element)) {
            addFacets(componentTag, namespace, element);
View Full Code Here

      writeFile(tagInfo, stringTemplate);
    }

    if (componentTag.generate()) {
      StringTemplate componentStringTemplate = componentStringTemplateGroup.getInstanceOf("component");
      ComponentInfo componentInfo
          = new ComponentInfo(declaration.getQualifiedName(), componentTag.uiComponent(), componentTag.rendererType());
     
/*
      String p = componentTag.uiComponentBaseClass();
      String c = componentTag.uiComponent();
      String m = c.substring(0, 36) + "Abstract" + c.substring(36);
      if (p.equals(m)) {
        getEnv().getMessager().printNotice("*********** ok   " + c);
      } else {
        getEnv().getMessager().printNotice("*********** diff " + c + " " + p);
      }
*/
     
      componentInfo.setSuperClass(componentTag.uiComponentBaseClass());
      componentInfo.setComponentFamily(componentTag.componentFamily());
      componentInfo.setDescription(getDescription(declaration));
      componentInfo.setDeprecated(declaration.getAnnotation(Deprecated.class) != null);
      List<String> elMethods = Collections.emptyList();
      if (isUnifiedEL()) {
        elMethods = checkForElMethods(componentInfo, componentTag.interfaces());
      }
      for (String interfaces : componentTag.interfaces()) {
        componentInfo.addInterface(interfaces);
      }
      if (componentTag.componentType().length() > 0) {
        componentInfo.setComponentType(componentTag.componentType());
      } else {
        componentInfo.setComponentType(componentTag.uiComponent().replace(".component.UI", "."));
      }
      try {
        Class componentBaseClass = Class.forName(componentTag.uiComponentBaseClass());
        for (PropertyInfo info : properties.values()) {
          String methodName
              = (info.getType().equals("java.lang.Boolean") ? "is" : "get") + info.getUpperCamelCaseName();

          try {
            Method method = componentBaseClass.getMethod(methodName);
            if (Modifier.isAbstract(method.getModifiers())) {
              addPropertyToComponent(componentInfo, info, elMethods, false);
            }
          } catch (NoSuchMethodException e) {
            addPropertyToComponent(componentInfo, info, elMethods, false);
          }
        }
        boolean found = false;
        for (Method method : componentBaseClass.getMethods()) {
          if ("invokeOnComponent".equals(method.getName())) {
            found = true;
          }
        }
        if (!found) {
          componentInfo.setInvokeOnComponent(true);
          componentInfo.addImport("javax.faces.context.FacesContext");
          componentInfo.addImport("javax.faces.FacesException");
          componentInfo.addImport("javax.faces.component.ContextCallback");
          componentInfo.addImport("org.apache.myfaces.tobago.compat.FacesUtils");
          componentInfo.addInterface("org.apache.myfaces.tobago.compat.InvokeOnComponent");
        }

      } catch (ClassNotFoundException e) {
        Map<String, PropertyInfo> baseClassProperties = getBaseClassProperties(componentTag.uiComponentBaseClass());
        for (PropertyInfo info : properties.values()) {
View Full Code Here

      writeFile(tagInfo, stringTemplate);
    }

    if (componentTag.generate()) {
      StringTemplate componentStringTemplate = componentStringTemplateGroup.getInstanceOf("component");
      ComponentInfo componentInfo
          = new ComponentInfo(declaration.getQualifiedName(), componentTag.uiComponent(), componentTag.rendererType());
     
/*
      String p = componentTag.uiComponentBaseClass();
      String c = componentTag.uiComponent();
      String m = c.substring(0, 36) + "Abstract" + c.substring(36);
      if (p.equals(m)) {
        getEnv().getMessager().printNotice("*********** ok   " + c);
      } else {
        getEnv().getMessager().printNotice("*********** diff " + c + " " + p);
      }
*/
     
      componentInfo.setSuperClass(componentTag.uiComponentBaseClass());
      componentInfo.setComponentFamily(componentTag.componentFamily());
      componentInfo.setDescription(getDescription(declaration));
      componentInfo.setDeprecated(declaration.getAnnotation(Deprecated.class) != null);
      List<String> elMethods = Collections.emptyList();
      if (isUnifiedEL()) {
        elMethods = checkForElMethods(componentInfo, componentTag.interfaces());
      }
      for (String interfaces : componentTag.interfaces()) {
        componentInfo.addInterface(interfaces);
      }
      if (componentTag.componentType().length() > 0) {
        componentInfo.setComponentType(componentTag.componentType());
      } else {
        componentInfo.setComponentType(componentTag.uiComponent().replace(".component.UI", "."));
      }
      try {
        Class componentBaseClass = Class.forName(componentTag.uiComponentBaseClass());
        int index = 0;
        for (PropertyInfo info : properties.values()) {
          String methodName
              = (info.getType().equals("java.lang.Boolean") ? "is" : "get") + info.getUpperCamelCaseName();
          String possibleUnifiedElAlternative = "set" + info.getUpperCamelCaseName() + "Expression";
          try {
            Method method = componentBaseClass.getMethod(methodName);
            if (Modifier.isAbstract(method.getModifiers())) {
              ComponentPropertyInfo property = addPropertyToComponent(componentInfo, info, index, false);
              if (elMethods.contains(possibleUnifiedElAlternative)) {
                addPropertyToComponent(componentInfo, info, index, true);
                property.setElAlternativeAvailable(true);
              }
              index++;
            }
          } catch (NoSuchMethodException e) {
            ComponentPropertyInfo property = addPropertyToComponent(componentInfo, info, index, false);
            if (elMethods.contains(possibleUnifiedElAlternative)) {
              addPropertyToComponent(componentInfo, info, index, true);
              property.setElAlternativeAvailable(true);
            }
            index++;
          }
        }
        boolean found = false;
        for (Method method : componentBaseClass.getMethods()) {
          if ("invokeOnComponent".equals(method.getName())) {
            found = true;
          }
        }
        if (!found) {
          componentInfo.setInvokeOnComponent(true);
          componentInfo.addImport("javax.faces.context.FacesContext");
          componentInfo.addImport("javax.faces.FacesException");
          componentInfo.addImport("javax.faces.component.ContextCallback");
          componentInfo.addImport("org.apache.myfaces.tobago.compat.FacesUtils");
          componentInfo.addInterface("org.apache.myfaces.tobago.compat.InvokeOnComponent");
        }

      } catch (ClassNotFoundException e) {
        Map<String, PropertyInfo> baseClassProperties = getBaseClassProperties(componentTag.uiComponentBaseClass());
        int index = 0;
View Full Code Here

  protected void addElement(
      final TypeElement typeElement, final List<org.jdom.Element> components, final List<org.jdom.Element> renderer,
      final Namespace namespace) throws Exception {
    final UIComponentTag componentTag = typeElement.getAnnotation(UIComponentTag.class);
    if (componentTag != null) {
      final ComponentInfo componentInfo = new ComponentInfo(typeElement, componentTag);
      if (!componentTag.isComponentAlreadyDefined()) {
        final org.jdom.Element element = createComponentElement(componentInfo, componentTag, namespace);
        if (element != null) {
          if (!containsElement(components, element)) {
            addFacets(componentTag, namespace, element);
View Full Code Here

      writeFile(tagInfo, stringTemplate);
    }

    if (componentTag.generate()) {
      final StringTemplate componentStringTemplate = componentStringTemplateGroup.getInstanceOf("component");
      final ComponentInfo componentInfo = new ComponentInfo(declaration, componentTag);
      componentInfo.setSuperClass(componentTag.uiComponentBaseClass());
      componentInfo.setDescription(getDescription(declaration));
      componentInfo.setDeprecated(declaration.getAnnotation(Deprecated.class) != null);
      for (final String interfaces : componentTag.interfaces()) {
        componentInfo.addInterface(interfaces);
      }

      final Class<? extends UIComponent> facesClass
          = Class.forName(componentTag.uiComponentFacesClass()).asSubclass(UIComponent.class);
View Full Code Here

      writeFile(tagInfo, stringTemplate);
    }

    if (componentTag.generate()) {
      StringTemplate componentStringTemplate = componentStringTemplateGroup.getInstanceOf("component");
      ComponentInfo componentInfo
          = new ComponentInfo(declaration.getQualifiedName(), componentTag.uiComponent(), componentTag.rendererType());
     
/*
      String p = componentTag.uiComponentBaseClass();
      String c = componentTag.uiComponent();
      String m = c.substring(0, 36) + "Abstract" + c.substring(36);
      if (p.equals(m)) {
        getEnv().getMessager().printNotice("*********** ok   " + c);
      } else {
        getEnv().getMessager().printNotice("*********** diff " + c + " " + p);
      }
*/
     
      componentInfo.setSuperClass(componentTag.uiComponentBaseClass());
      componentInfo.setComponentFamily(componentTag.componentFamily());
      componentInfo.setDescription(getDescription(declaration));
      componentInfo.setDeprecated(declaration.getAnnotation(Deprecated.class) != null);
      List<String> elMethods = Collections.emptyList();
      if (isUnifiedEL()) {
        elMethods = checkForElMethods(componentInfo, componentTag.interfaces());
      }
      for (String interfaces : componentTag.interfaces()) {
        componentInfo.addInterface(interfaces);
      }
      if (componentTag.componentType().length() > 0) {
        componentInfo.setComponentType(componentTag.componentType());
      } else {
        componentInfo.setComponentType(componentTag.uiComponent().replace(".component.UI", "."));
      }
      try {
        Class componentBaseClass = Class.forName(componentTag.uiComponentBaseClass());
        for (PropertyInfo info : properties.values()) {
          String methodName
              = (info.getType().equals("java.lang.Boolean") ? "is" : "get") + info.getUpperCamelCaseName();

          try {
            Method method = componentBaseClass.getMethod(methodName);
            if (Modifier.isAbstract(method.getModifiers())) {
              addPropertyToComponent(componentInfo, info, elMethods, false);
            }
          } catch (NoSuchMethodException e) {
            addPropertyToComponent(componentInfo, info, elMethods, false);
          }
        }
        boolean found = false;
        for (Method method : componentBaseClass.getMethods()) {
          if ("invokeOnComponent".equals(method.getName())) {
            found = true;
          }
        }
        if (!found) {
          componentInfo.setInvokeOnComponent(true);
          componentInfo.addImport("javax.faces.context.FacesContext");
          componentInfo.addImport("javax.faces.FacesException");
          componentInfo.addImport("javax.faces.component.ContextCallback");
          componentInfo.addImport("org.apache.myfaces.tobago.compat.FacesUtils");
          componentInfo.addInterface("org.apache.myfaces.tobago.compat.InvokeOnComponent");
        }

      } catch (ClassNotFoundException e) {
        Map<String, PropertyInfo> baseClassProperties = getBaseClassProperties(componentTag.uiComponentBaseClass());
        for (PropertyInfo info : properties.values()) {
View Full Code Here

      writeFile(tagInfo, stringTemplate);
    }

    if (componentTag.generate()) {
      StringTemplate componentStringTemplate = componentStringTemplateGroup.getInstanceOf("component");
      ComponentInfo componentInfo
          = new ComponentInfo(declaration.getQualifiedName(), componentTag.uiComponent(), componentTag.rendererType());
     
/*
      String p = componentTag.uiComponentBaseClass();
      String c = componentTag.uiComponent();
      String m = c.substring(0, 36) + "Abstract" + c.substring(36);
      if (p.equals(m)) {
        getEnv().getMessager().printNotice("*********** ok   " + c);
      } else {
        getEnv().getMessager().printNotice("*********** diff " + c + " " + p);
      }
*/
     
      componentInfo.setSuperClass(componentTag.uiComponentBaseClass());
      componentInfo.setComponentFamily(componentTag.componentFamily());
      componentInfo.setDescription(getDescription(declaration));
      componentInfo.setDeprecated(declaration.getAnnotation(Deprecated.class) != null);
      List<String> elMethods = Collections.emptyList();
      if (isUnifiedEL()) {
        elMethods = checkForElMethods(componentInfo, componentTag.interfaces());
      }
      for (String interfaces : componentTag.interfaces()) {
        componentInfo.addInterface(interfaces);
      }
      if (componentTag.componentType().length() > 0) {
        componentInfo.setComponentType(componentTag.componentType());
      } else {
        componentInfo.setComponentType(componentTag.uiComponent().replace(".component.UI", "."));
      }
      try {
        Class componentBaseClass = Class.forName(componentTag.uiComponentBaseClass());
        for (PropertyInfo info : properties.values()) {
          String methodName
              = (info.getType().equals("java.lang.Boolean") ? "is" : "get") + info.getUpperCamelCaseName();

          try {
            Method method = componentBaseClass.getMethod(methodName);
            if (Modifier.isAbstract(method.getModifiers())) {
              addPropertyToComponent(componentInfo, info, elMethods, false);
            }
          } catch (NoSuchMethodException e) {
            addPropertyToComponent(componentInfo, info, elMethods, false);
          }
        }
        boolean found = false;
        for (Method method : componentBaseClass.getMethods()) {
          if ("invokeOnComponent".equals(method.getName())) {
            found = true;
          }
        }
        if (!found) {
          componentInfo.setInvokeOnComponent(true);
          componentInfo.addImport("javax.faces.context.FacesContext");
          componentInfo.addImport("javax.faces.FacesException");
          componentInfo.addImport("javax.faces.component.ContextCallback");
          componentInfo.addImport("org.apache.myfaces.tobago.compat.FacesUtils");
          componentInfo.addInterface("org.apache.myfaces.tobago.compat.InvokeOnComponent");
        }

      } catch (ClassNotFoundException e) {
        Map<String, PropertyInfo> baseClassProperties = getBaseClassProperties(componentTag.uiComponentBaseClass());
        for (PropertyInfo info : properties.values()) {
View Full Code Here

TOP

Related Classes of org.apache.myfaces.tobago.apt.generate.ComponentInfo

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.