Package org.ajax4jsf.builder.model

Examples of org.ajax4jsf.builder.model.JavaClass


  public JavaClass build(ComponentBean componentBean, JSFGeneratorConfiguration configuration) {
   
    String superclassname =
      componentBean.getSuperclass();
   
    JavaClass javaClass =
      new JavaClass(componentBean.getSimpleClassName(),
          new JavaPackage(componentBean.getPackageName()));
   
    try {
      Class<?> superClass =
        Class.forName(superclassname, false, configuration.getClassLoader());
     
      javaClass.setSuperClass(superClass);
     
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
      javaClass.setSuperClass(UIComponentBase.class);
    }
   
    javaClass.addModifier(JavaModifier.PUBLIC);
   
    javaClass.addField(getComponentFamily(componentBean));
    javaClass.addField(getComponentType(componentBean));
   
    javaClass.addMethod(getConstructor(componentBean, javaClass));
   
    Collection<PropertyBean> properties = componentBean.getProperties();
   
    for (PropertyBean propertyBean : properties) {
      PropertyProcessor proc = null;
     
      for (int i = 0; i < propertyProcessors.length && proc == null; i++) {
       
        PropertyProcessor processor =
          propertyProcessors[i];
       
        if (processor.accept(propertyBean, javaClass, configuration)) {
          proc = processor;
        }
      }
     
      if (proc != null) {
        proc.process(propertyBean, javaClass, configuration);
      }
    }

    javaClass.addMethod(getComponentFamilyMethod(componentBean));
   
    ComponentStateManager stateManager = new ComponentStateManager(javaClass);
   
    JavaMethod saveState = getSaveStateTemplate();
    try {
      saveState.setMethodBody(stateManager.getSaveStateMethodBody(configuration));
    } catch (GeneratorException e) {
      e.printStackTrace();
    }
    javaClass.addMethod(saveState);
   
    JavaMethod restoreState = getRestoreStateTemplate();
    try {
      restoreState.setMethodBody(stateManager.getRestoreStateMethodBody(configuration));
    } catch (GeneratorException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    javaClass.addMethod(restoreState);
   
   
   
    return javaClass;
   
View Full Code Here


  @Override
  public void createFiles(BuilderConfig config) throws GeneratorException {
    List<ComponentBean> components = config.getComponents();
    for (ComponentBean componentBean : components) {
      if (componentBean.isGenerate()) {
        JavaClass componentClass =
          componentModelBuilder.build(componentBean, getConfig());
       
        String resultPath = componentBean.getClassname().replace('.', '/')
        + ".java";
        File javaFile = new File(getDestDir(), resultPath);
View Full Code Here

  @interface Tezt {
   
  }
 
  public static void main(String[] args) {
    JavaClass javaClass = new JavaClass("MyClass", new JavaPackage("mypackage"));
   
    JavaField javaField = new JavaField(int.class, "count");
    javaField.setValue(0);
    javaField.getModifiers().add(JavaModifier.PRIVATE);
    javaClass.addField(javaField);
   
    JavaField field =
      new JavaField(UIComponentBase.class, "component", "null");
    field.addModifier(JavaModifier.PUBLIC);
    field.addAnnotation(Deprecated.class);
    javaClass.addField(field);
   
    javaClass.addAnnotation(Deprecated.class);
   
    JavaMethod accessor = new JavaMethod("getCount", int.class);
    accessor.setMethodBody(
        new MethodBody(accessor) {
          @Override
          public String toCode() {
            return "return count;";
          }
        }
      );
    accessor.getModifiers().add(JavaModifier.PUBLIC);
    accessor.getModifiers().add(JavaModifier.FINAL);
    javaClass.addMethod(accessor);
   
    JavaMethod mutator = new JavaMethod("setCount",
        new Argument("i", int.class));
    mutator.setMethodBody(
        new MethodBody(mutator) {
          @Override
          public String toCode() {
            return "count = i;";
          }
        }
      );
    mutator.addAnnotation(Tezt.class);
    mutator.addModifier(JavaModifier.PUBLIC);
    mutator.addModifier(JavaModifier.FINAL);
    javaClass.addMethod(mutator);
   
    PrintWriter printWriter = new PrintWriter(System.out);
    new JavaClassRenderer().render(javaClass, printWriter);
    printWriter.flush();
  }
View Full Code Here

TOP

Related Classes of org.ajax4jsf.builder.model.JavaClass

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.