private DeclaredTypeName extractGetAndSetType() { String basicType = propertyType.toString().replace(TypeConstants.PROPERTY.toString(), "") .replace("Property", "") .replace(".", ""); if ("Blob".equals(basicType)) { return TypeConstants.BYTE_ARRAY; } else { return new DeclaredTypeName("java.lang", basicType); } }
@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 processVariableElement(VariableElement field, DeclaredTypeName fieldType) { boolean isViewProperty = TypeConstants.isBasicPropertyType(fieldType); ViewQuery isViewQuery = field.getAnnotation(ViewQuery.class); if (TypeConstants.isVisibleConstant(field)) { if (isViewQuery != null) { if (!TypeConstants.QUERY.equals(fieldType)) { modelSpec.logError("ViewQuery must be an instance of " + TypeConstants.QUERY.toString(), field); } else if (modelSpec.hasMetadata(ViewModelSpecWrapper.METADATA_KEY_QUERY_ELEMENT)) { modelSpec.logError("Only one ViewQuery can be declared per spec", field); } else { modelSpec.putMetadata(ViewModelSpecWrapper.METADATA_KEY_VIEW_QUERY, isViewQuery); modelSpec.putMetadata(ViewModelSpecWrapper.METADATA_KEY_QUERY_ELEMENT, field); } return true; } else { return super.processVariableElement(field, fieldType); } } else if (isViewProperty) { modelSpec.logError("View properties must be static final and non-private", field); } return false; }
private DeclaredTypeName extractGetAndSetType() { String basicType = propertyType.toString().replace(TypeConstants.PROPERTY.toString(), "") .replace("Property", "") .replace(".", ""); if ("Blob".equals(basicType)) { return TypeConstants.BYTE_ARRAY; } else { return new DeclaredTypeName("java.lang", basicType); } }
@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 processVariableElement(VariableElement field, DeclaredTypeName fieldType) { boolean isViewProperty = TypeConstants.isBasicPropertyType(fieldType); ViewQuery isViewQuery = field.getAnnotation(ViewQuery.class); if (TypeConstants.isVisibleConstant(field)) { if (isViewQuery != null) { if (!TypeConstants.QUERY.equals(fieldType)) { modelSpec.logError("ViewQuery must be an instance of " + TypeConstants.QUERY.toString(), field); } else if (modelSpec.hasMetadata(ViewModelSpecWrapper.METADATA_KEY_QUERY_ELEMENT)) { modelSpec.logError("Only one ViewQuery can be declared per spec", field); } else { modelSpec.putMetadata(ViewModelSpecWrapper.METADATA_KEY_VIEW_QUERY, isViewQuery); modelSpec.putMetadata(ViewModelSpecWrapper.METADATA_KEY_QUERY_ELEMENT, field); } return true; } else { return super.processVariableElement(field, fieldType); } } else if (isViewProperty) { modelSpec.logError("View properties must be static final and non-private", field); } return false; }