private boolean emitPropertyReferenceArrayBody(boolean alias) throws IOException { for (PropertyGenerator propertyGenerator : modelSpec.getPropertyGenerators()) { Expression reference = Expressions.staticReference(modelSpec.getModelSpecName(), propertyGenerator.getPropertyName()); if (alias) { VariableElement field = propertyGenerator.getField(); if (field != null) { Alias aliasAnnotation = field.getAnnotation(Alias.class); if (aliasAnnotation != null && !AptUtils.isEmpty(aliasAnnotation.value().trim())) { reference = reference.callMethod("as", "\"" + aliasAnnotation.value().trim() + "\""); } } } writer.writeExpression(reference); writer.appendString(",\n"); } return !AptUtils.isEmpty(modelSpec.getPropertyGenerators()); }
@Override public void emitAdditionalJava(JavaFileWriter writer) throws IOException { List<ErrorInfo> errors = modelSpec.getLoggedErrors(); if (errors.size() > 0) { writer.writeExpression(new ModelGenErrorsExpression(errors)) .writeNewline(); TypeDeclarationParameters dummyErrorClass = new TypeDeclarationParameters() .setModifiers(Modifier.STATIC, Modifier.FINAL) .setName(new DeclaredTypeName(modelSpec.getGeneratedClassName().toString(), "LoggedErrors")) .setKind(JavaFileWriter.Type.CLASS); writer.beginTypeDefinition(dummyErrorClass); writer.writeComment("Dummy class for holding logged error annotations"); writer.finishTypeDefinition(); } }
@Override public boolean writeExpression(JavaFileWriter writer) throws IOException { writer.appendString("@") .appendString(writer.shortenName(MODEL_GEN_ERRORS, false)) .appendString("({\n"); writer.moveToScope(JavaFileWriter.Scope.METHOD_DEFINITION); boolean needsNewline = false; for (ErrorInfo errorInfo : errors) { if (needsNewline) { writer.appendString(",").writeNewline(); } needsNewline = true; writer.writeExpression(new ModelGenErrorSingle(errorInfo)); } writer.writeNewline(); writer.finishScope(JavaFileWriter.Scope.METHOD_DEFINITION); writer.writeString("})"); return true; } }
private boolean emitPropertyReferenceArrayBody(boolean alias) throws IOException { for (PropertyGenerator propertyGenerator : modelSpec.getPropertyGenerators()) { Expression reference = Expressions.staticReference(modelSpec.getModelSpecName(), propertyGenerator.getPropertyName()); if (alias) { VariableElement field = propertyGenerator.getField(); if (field != null) { Alias aliasAnnotation = field.getAnnotation(Alias.class); if (aliasAnnotation != null && !AptUtils.isEmpty(aliasAnnotation.value().trim())) { reference = reference.callMethod("as", "\"" + aliasAnnotation.value().trim() + "\""); } } } writer.writeExpression(reference); writer.appendString(",\n"); } return !AptUtils.isEmpty(modelSpec.getPropertyGenerators()); }
@Override public void emitAdditionalJava(JavaFileWriter writer) throws IOException { List<ErrorInfo> errors = modelSpec.getLoggedErrors(); if (errors.size() > 0) { writer.writeExpression(new ModelGenErrorsExpression(errors)) .writeNewline(); TypeDeclarationParameters dummyErrorClass = new TypeDeclarationParameters() .setModifiers(Modifier.STATIC, Modifier.FINAL) .setName(new DeclaredTypeName(modelSpec.getGeneratedClassName().toString(), "LoggedErrors")) .setKind(JavaFileWriter.Type.CLASS); writer.beginTypeDefinition(dummyErrorClass); writer.writeComment("Dummy class for holding logged error annotations"); writer.finishTypeDefinition(); } }
@Override public boolean writeExpression(JavaFileWriter writer) throws IOException { writer.appendString("@") .appendString(writer.shortenName(MODEL_GEN_ERRORS, false)) .appendString("({\n"); writer.moveToScope(JavaFileWriter.Scope.METHOD_DEFINITION); boolean needsNewline = false; for (ErrorInfo errorInfo : errors) { if (needsNewline) { writer.appendString(",").writeNewline(); } needsNewline = true; writer.writeExpression(new ModelGenErrorSingle(errorInfo)); } writer.writeNewline(); writer.finishScope(JavaFileWriter.Scope.METHOD_DEFINITION); writer.writeString("})"); return true; } }