Package net.karneim.pojobuilder

Examples of net.karneim.pojobuilder.FactoryProperties


            .declaredIn(ownerType));

    if (factoryMethodEl.getParameters().isEmpty()) {
      return;
    }
    FactoryProperties factoryPropertiesAnno = factoryMethodEl.getAnnotation(FactoryProperties.class);
    List<? extends VariableElement> parameters = factoryMethodEl.getParameters();
    if (factoryPropertiesAnno == null) {
      // use declared parameter names to map parameters to property names
      int i = 0;
      for (VariableElement param : parameters) {
        String propertyName = param.getSimpleName().toString();
        TypeMirror propertyTypeMirror = param.asType();
        TypeM propertyType = typeMFactory.getTypeM(propertyTypeMirror);
        output
            .getBuilderModel()
            .getProperties()
            .getOrCreate(propertyName, propertyType)
            .writableVia(
                new FactoryMethodParameterM(i).withName(propertyName).withVarArgs(
                    factoryMethodEl.isVarArgs() && i == parameters.size() - 1));
        i++;
      }
    } else {
      // use @FactoryProperties to map parameters to property names
      String[] propertyNames = factoryPropertiesAnno.value();
      if (propertyNames.length != parameters.size()) {
        String message =
            String.format("Incorrect number of values in annotation @%s! Expected %d, but was %d.",
                FactoryProperties.class.getSimpleName(), factoryMethodEl.getParameters().size(), propertyNames.length);
        throw new InvalidElementException(message, factoryMethodEl);
View Full Code Here

TOP

Related Classes of net.karneim.pojobuilder.FactoryProperties

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.