Examples of JVar


Examples of com.sun.codemodel.JVar

    setMethod.body()._return(JExpr._this());

  }

  private void addConstructorParam(final JMethod constructor, final JFieldVar arg) {
    final JVar constructorArg = constructor.param(JMod.FINAL, cm.DOUBLE, arg.name());
    constructor.body().assign(JExpr.refthis(arg.name()), constructorArg);
  }
View Full Code Here

Examples of com.sun.codemodel.JVar

      // if (fo.getPropertyInfo().isCollection()) {
      // LOG.info("!!!!! " + cc.implClass.name() + " is collection " + field.name() );
      // continue;
      // }

      final JVar arg = defaultConstructor.param(JMod.FINAL, Util.removeJAXBElement(cm, field.type()), field.name());
      defaultConstructor.javadoc().addParam(arg).append("required parameter");
      defaultConstructor.body().assign(JExpr.refthis(field.name()), arg);
    }

    debugOut.append("c> " + cc.implRef.name() + " :: public " + cc.target.shortName + "(");
View Full Code Here

Examples of com.sun.codemodel.JVar

      jaxbElementClass = codeModel.ref(ArrayList.class).narrow(annotateCoordinates);
    }
    // cClassInfo
    final String createAndSetCoordinatesName = "createAndSetCoordinates";
    final JMethod m = implClass.method(JMod.PUBLIC, fieldVar.type(), createAndSetCoordinatesName);
    final JVar newValue = m.body().decl(fieldVar.type(), "newValue", JExpr._new(jaxbElementClass));
    final JInvocation methodInvoke = JExpr._this().invoke("set" + Util.upperFirst(fieldVar.name())).arg(newValue);
    m.body().add(methodInvoke);
    m.body()._return(newValue);

    m.javadoc().append("Creates a new instance of ");
    m.javadoc().append(fieldVar.type());
    m.javadoc().append("and set it to this." + fieldVar.name() + ".\n");

    final ArrayList<String> javadoc = new ArrayList<String>();
    javadoc.add("\n");
    javadoc.add("This method is a short version for:\n");
    javadoc.add("<pre>\n");
    javadoc.add("<code>\n");
    javadoc.add("" + fieldVar.type().name() + " " + newValue.name() + " = new " + fieldVar.type().name() + "();\n");
    javadoc.add("this.set" + Util.upperFirst(fieldVar.name()) + "(" + newValue.name() + ");");
    javadoc.add("</code>\n");
    javadoc.add("</pre>\n");

    m.javadoc().append(javadoc);
    debugOut.append("m> " + cc.implRef.name() + " :: public " + fieldVar.type().name() + " " + createAndSetCoordinatesName + "() created.");
View Full Code Here

Examples of com.sun.codemodel.JVar

    // annotate with @Override
    hashCodeMethod.annotate(Override.class);
    equalsMethod.annotate(Override.class);

    // add paramter for equals()-method
    final JVar vObj = equalsMethod.param(Object.class, "obj");

    // is it me? this==obj -> true
    final JConditional condMe = equalsMethod.body()._if(JExpr._this().eq(vObj));
    condMe._then()._return(JExpr.TRUE);

    // it's null? obj==null -> false
    final JConditional condNull = equalsMethod.body()._if(vObj.eq(JExpr._null()));
    condNull._then()._return(JExpr.FALSE);

    // paternity test (only add if equals in superclass isn't overridden)?
    // !super.equals(obj) -> false --> (super.equals(obj) == false)
    if (isSuperClass) {
      final JConditional condSuper = equalsMethod.body()._if(JExpr._super().invoke("equals").arg(vObj).eq(JExpr.FALSE));
      condSuper._then()._return(JExpr.FALSE);
    }

    // suit the class? !(obj instanceof TypeB) -> false --> if ((obj instanceof TypeB) == false)
    final JConditional condInstance = equalsMethod.body()._if(vObj._instanceof(implClass).eq(JExpr.FALSE));
    condInstance._then()._return(JExpr.FALSE);

    // cast: TYPE other = (TYPE) obj;
    final JVar vOther = equalsMethod.body().decl(implClass, "other", JExpr.cast(implClass, vObj));

    /*
     * check for each declared field distinguish between primitive types:
     *
     * <pre> if (field != other.field) { return false; } </pre>
     *
     * and reference types: <pre> if (field == null) { if (other.field != null) { return false; } } else if (!field.equals(other.field)) {
     * // --> if (field.equals(other.field) == false) return false; } </code>
     */
    JConditional condFieldCheck;
    boolean containsDouble = false;
    for (final JFieldVar jFieldVar : fields) {
      if (jFieldVar.type().fullName().equals("java.lang.Double") || jFieldVar.type().fullName().equals("double")) {
        jFieldVar.type(implClass.owner().DOUBLE);
        containsDouble = true;
      //  break;
      }
    }

    for (final JFieldVar jFieldVar : fields) {
      if (jFieldVar.type().isPrimitive()) {
        // LOG.info("JConditional: " + jFieldVar.name() +
        // " is PRIMITIVE");
        condFieldCheck = equalsMethod.body()._if(JExpr.ref(jFieldVar.name()).ne(vOther.ref(jFieldVar.name())));
        condFieldCheck._then()._return(JExpr.FALSE);
      } else {
        // LOG.info("JConditional: " + jFieldVar.name() +
        // " is REFERENCE");
        condFieldCheck = equalsMethod.body()._if(JExpr.ref(jFieldVar.name()).eq(JExpr._null()));
        condFieldCheck._then()._if(vOther.ref(jFieldVar.name()).ne(JExpr._null()))._then()._return(JExpr.FALSE);
        condFieldCheck._elseif(JExpr.ref(jFieldVar.name()).invoke("equals").arg(vOther.ref(jFieldVar.name())).eq(JExpr.FALSE))._then()
            ._return(JExpr.FALSE);
      }
    }

    // ir all works out, the objects are equal, return true
    equalsMethod.body()._return(JExpr.TRUE);

    // useful fields
    final JFieldRef vPrime = JExpr.ref("prime");
    final JFieldRef vResult = JExpr.ref("result");

    // ==> final int prime = 31;
    hashCodeMethod.body().assign(JExpr.ref("final int prime"), JExpr.ref("31"));

    // ==> int result = 1; || int result = super.hashCode();
    JExpression initializeResult = null;
    if (isSuperClass) {
      initializeResult = JExpr._super().invoke("hashCode");
    } else {
      initializeResult = JExpr.ref("1");
    }
    hashCodeMethod.body().assign(JExpr.ref("int result"), initializeResult);

    // if class contains double
    // long temp;
    JVar tempVariableForDoubleChecks = null;
    JType doubleClass = null;
    if (containsDouble == true) {
      tempVariableForDoubleChecks = hashCodeMethod.body().decl(implClass.owner().LONG, "temp");
      doubleClass = implClass.owner()._ref(Double.class);
    }

    JExpression tenaryCond;
    for (final JFieldVar jFieldVar : fields) {
      if (jFieldVar.type().isPrimitive()) {
        if (jFieldVar.type().fullName().equals("double")) {
          // temp = Double.doubleToLongBits(altitude);
          // result = prime * result + (int) (temp ^ (temp >>> 32));
          // LOG.info("implClass: " + implClass.name());
          // LOG.info("jFieldVar: " + jFieldVar.name());
          // LOG.info(" is " + jFieldVar.type().fullName());
          // LOG.info(" + " + tempVariableForDoubleChecks.name());
          // LOG.info(" + " + doubleClass.boxify().fullName());
          hashCodeMethod.body().assign(tempVariableForDoubleChecks, doubleClass.boxify().staticInvoke("doubleToLongBits").arg(jFieldVar));
          tenaryCond = JExpr.cast(implClass.owner().INT, tempVariableForDoubleChecks.xor(tempVariableForDoubleChecks.shrz(JExpr
              .direct("32"))));
        } else {
          // if field is primitive:
          // ==> result = prime * result + field;
          tenaryCond = JExpr.ref(jFieldVar.name());
View Full Code Here

Examples of com.sun.codemodel.JVar

   * <pre> void setField(T field) { this.field = field; } </pre>
   */
  private void generateSetCollection(final ClassOutlineImpl cc, final JFieldVar field, final boolean override) {
    // creates the setter
    final JMethod generateSet = cc.implClass.method(JMod.PUBLIC, cc.implClass.owner().VOID, "set" + Util.upperFirst(field.name()));
    final JVar value = generateSet.param(JMod.FINAL, field.type(), field.name());
    // set the assignment to the body: this.value = value;
    if (override) {
      if (annotateObvicious != null) {
        generateSet.annotate(annotateObvicious);
      }
      generateSet.annotate(Override.class);
      // super.setObjectSimpleExtensionGroup(objectSimpleExtensionGroup);
      // generateSet.body().assign(JExpr._this().ref(field.name()), value);
      generateSet.body().directStatement("super.set" + Util.upperFirst(field.name()) + "(" + value.name() + ");");
    } else {
      generateSet.javadoc().append("Sets the value of the " + field.name() + " property");
      generateSet.javadoc().addParam(value);
      generateSet.javadoc().append("Objects of the following type(s) are allowed in the list ");
      generateSet.javadoc().append(field.type().name());
View Full Code Here

Examples of com.sun.codemodel.JVar

    // create public Point addToCoordinates(final String coordinates) {...}
    final JMethod generateAdd = cc.implClass.method(JMod.PUBLIC, cc.implClass, "addToCoordinates");
    generateAdd.javadoc().append("add a value to the coordinates property collection");
    final JInvocation returntype = JExpr._new(classCoordinates);
    final JVar arg = generateAdd.param(JMod.FINAL, String.class, field.name());
    generateAdd.javadoc().addParam(arg).append("required parameter");
    returntype.arg(arg);

    generateAdd.javadoc().addReturn().append("<tt>true</tt> (as general contract of <tt>Collection.add</tt>). ");
    generateAdd.body().add(JExpr._this().invoke("getCoordinates").invoke("add").arg(returntype));
View Full Code Here

Examples of com.sun.codemodel.JVar

    final JMethod generateAdd = cc.implClass.method(JMod.PUBLIC, cc.implClass, "addToCoordinates");
    generateAdd.javadoc().append("add a value to the coordinates property collection");
    final JInvocation returntype = JExpr._new(classCoordinates);
    for (final JFieldVar field : coordinateCreateMethods) {

      final JVar arg = generateAdd.param(JMod.FINAL, field.type(), field.name());
      generateAdd.javadoc().addParam(arg).append("required parameter");
      returntype.arg(arg);
    }

    generateAdd.javadoc().addReturn().append("<tt>true</tt> (as general contract of <tt>Collection.add</tt>). ");
View Full Code Here

Examples of com.sun.codemodel.JVar

    // find the common type
    final JType type = TypeUtil.getCommonBaseType(codeModel, Util.listPossibleTypes(cc, propertyInfo));

    // creates the add method
    final JMethod generateAdd = cc.implClass.method(JMod.PUBLIC, cc.implClass, "addTo" + Util.upperFirst(field.name()));
    final JVar value = generateAdd.param(JMod.FINAL, type, field.name());

    if (override) {
      if (annotateObvicious != null) {
        generateAdd.annotate(annotateObvicious);
      }
      generateAdd.annotate(Override.class);
      // if (field.name().equals("coordinates")) {
      // LOG.info("####################### coordinates found : create new #######################");
      // generateAdd.body().add(JExpr._super().invoke("get" +
      // Util.upperFirst(field.name())).invoke("add").arg(JExpr._new(annotateCoordinates).arg(value)));
      // } else {
      generateAdd.body().add(JExpr._super().invoke("get" + Util.upperFirst(field.name())).invoke("add").arg(value));
      // LOG.info("#######################  ####################### " + field.name());
      // }

      // generateAdd.body().directStatement("super.get" + Util.upperFirst(field.name()) + "().add(" + value.name() + ");");
    } else {
      generateAdd.javadoc().append("add a value to the " + field.name() + " property collection");
      generateAdd.javadoc().addParam(value).append("Objects of the following type are allowed in the list: ").append(
          Util.listPossibleTypes(cc, propertyInfo));
      generateAdd.javadoc().addReturn().append("<tt>true</tt> (as general contract of <tt>Collection.add</tt>). ");
      generateAdd.body().directStatement("this.get" + Util.upperFirst(field.name()) + "().add(" + value.name() + ");");

    }
    generateAdd.body()._return(JExpr._this());
    // LOG.info("a> " + cc.implClass.name() + " >> public " + cc.implClass.name() + " addTo" + Util.upperFirst(field.name()) + "(" +
    // type.name() + ") created [Override: " + override + "].");
View Full Code Here

Examples of com.sun.codemodel.JVar

   * <pre> void setField(T field) { this.field = field; } </pre>
   */
  private void generateWith(final ClassOutlineImpl cc, final JFieldVar field, final boolean override) {
    // creates the setter
    final JMethod generateWith = cc.implClass.method(JMod.PUBLIC, cc.implClass, "with" + Util.upperFirst(field.name()));
    final JVar value = generateWith.param(JMod.FINAL, Util.removeJAXBElement(cm, field.type()), field.name());
    // set the assignment to the body: this.value = value;
    if (override) {
      if (annotateObvicious != null) {
        generateWith.annotate(annotateObvicious);
      }
      generateWith.annotate(Override.class);
      // super.setObjectSimpleExtensionGroup(objectSimpleExtensionGroup);
      // generateSet.body().assign(JExpr._this().ref(field.name()), value);
      generateWith.body().directStatement("super.with" + Util.upperFirst(field.name()) + "(" + field.name() + ");");
    } else {
      generateWith.javadoc().add("fluent setter");
      generateWith.javadoc().addParam(value).append("required parameter");
      generateWith.javadoc().add("\n@see #set"+Util.upperFirst(field.name())+"("+value.type().name()+")");
      generateWith.body().directStatement("this.set" + Util.upperFirst(field.name()) + "(" + field.name() + ");");
    }
    // generateSet.body().directStatement("this."+field.name() + " = " + field.name()+";");
    // generate the javadoc
    generateWith.body()._return(JExpr._this());
View Full Code Here

Examples of com.sun.codemodel.JVar

      // }
      // if (fo.getPropertyInfo().isCollection()) {
      // LOG.info("!!!!! " + cc.implClass.name() + " is collection " + methodName );
      // continue;
      // }
      final JVar arg = m.param(JMod.FINAL, field.type(), field.name());
      args.arg(JExpr.ref(field.name()));
      m.javadoc().addParam(arg).append("required parameter");
      // m.body().assign(JExpr.refthis(field.name()), arg);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.