Ejemplo n.º 1
0
  @Test
  public void test() throws Exception {
    final JCodeModel cm = new JCodeModel();

    final JPackage aPkg1 = cm._package("id.myapp");
    final JDefinedClass aClass_R = aPkg1._class("R");
    final JDefinedClass aClass_id = aClass_R._class(JMod.PUBLIC | JMod.STATIC, "id");
    final JFieldVar aFieldItem =
        aClass_id.field(JMod.PUBLIC | JMod.STATIC | JMod.FINAL, cm.INT, "myItem", JExpr.lit(1));
    final JDefinedClass aClass_menu = aClass_R._class(JMod.PUBLIC | JMod.STATIC, "menu");
    final JFieldVar aFieldMenu =
        aClass_menu.field(JMod.PUBLIC | JMod.STATIC | JMod.FINAL, cm.INT, "myMenu", JExpr.lit(2));

    final JPackage aPkg2 = cm._package("demo");
    final JDefinedClass aClassAct = aPkg2._class("HelloAndroidActivity_");
    final JMethod aMethodCreate = aClassAct.method(JMod.PUBLIC, cm.BOOLEAN, "onCreateOptionsMenu");
    aMethodCreate
        .body()
        .add(JExpr.ref("menuInflater").invoke("inflate").arg(aFieldMenu.fieldRef()));
    final JMethod aMethodSelected =
        aClassAct.method(JMod.PUBLIC, cm.BOOLEAN, "onOptionsItemSelected");
    aMethodSelected.body()._if(JExpr.ref("itemId_").eq(aFieldItem.fieldRef()));

    // Multiple packages - print only
    CodeModelTestsHelper.printCodeModel(cm);
  }