Package net.karneim.pojobuilder.model

Examples of net.karneim.pojobuilder.model.ConstructorParameterM


        output
            .getBuilderModel()
            .getProperties()
            .getOrCreate(propertyName, propertyType)
            .writableVia(
                new ConstructorParameterM(i).withName(propertyName).withVarArgs(
                    constrEl.isVarArgs() && i == parameters.size() - 1));
        i++;
      }
    } else {
      // use @ConstructorProperties to map parameters to property names
      String[] propertyNames = constrPropsAnno.value();
      List<? extends VariableElement> parameters = constrEl.getParameters();
      if (propertyNames.length != parameters.size()) {
        String message =
            String.format("Incorrect number of values in annotation @%s! Expected %d, but was %d.",
                ConstructorProperties.class.getSimpleName(), parameters.size(), propertyNames.length);
        throw new InvalidElementException(message, constrEl);
      }

      for (int i = 0; i < propertyNames.length; ++i) {
        String propertyName = propertyNames[i];
        if (!javaModelAnalyzerUtil.isValidJavaIdentifier(propertyName)) {
          String message =
              String.format("Illegal value in annotation @%s! Value '%s' is not a valid identifier.",
                  ConstructorProperties.class.getSimpleName(), propertyName);
          throw new InvalidElementException(message, constrEl);
        }
        TypeMirror propertyTypeMirror = parameters.get(i).asType();
        TypeM propertyType = typeMFactory.getTypeM(propertyTypeMirror);
        output
            .getBuilderModel()
            .getProperties()
            .getOrCreate(propertyName, propertyType)
            .writableVia(
                new ConstructorParameterM(i).withName(propertyName).withVarArgs(
                    constrEl.isVarArgs() && i == parameters.size() - 1));
      }
    }
    output.getInput().getOrginatingElements().add(javaModelAnalyzerUtil.getCompilationUnit(constrEl));
  }
View Full Code Here

TOP

Related Classes of net.karneim.pojobuilder.model.ConstructorParameterM

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.