public FieldMetadata getLoggerField() { InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.append(getNameOfJavaType(LOGGER_FACTORY_JAVA_TYPE)); bodyBuilder.append(".getLogger("); bodyBuilder.append(governorPhysicalTypeMetadata.getType().getSimpleTypeName()); bodyBuilder.append(".class)"); final String initializer = bodyBuilder.getOutput(); FieldMetadataBuilder field = new FieldMetadataBuilder(getId(), Modifier.PRIVATE | Modifier.STATIC | Modifier.FINAL, new JavaSymbolName("LOG"), LOGGER_JAVA_TYPE, initializer); return field.build(); }
builder.getImportRegistrationResolver().addImport(fieldType); final String initializer = getFieldInitializer(field, null, dataOnDemandClasses); bodyBuilder.append(getFieldValidationBody(field, initializer, null, true)); sb.append(fieldName);
bodyBuilder.append(getDigitsBody(field, digitsAnnotation, suffix)); } else if (decimalMinAnnotation != null || decimalMaxAnnotation != null) { bodyBuilder.append(getDecimalMinAndDecimalMaxBody(field, decimalMinAnnotation, decimalMaxAnnotation, suffix)); } else if (field.getCustomData().keySet().contains(CustomDataKeys.COLUMN_FIELD)) { final Map<String, Object> values = (Map<String, Object>) field.getCustomData().get(CustomDataKeys.COLUMN_FIELD); bodyBuilder.append(getColumnPrecisionAndScaleBody(field, values, suffix)); bodyBuilder.append(getMinAndMaxBody(field, suffix));
bodyBuilder.append("if (%s || %s", createNullExpression(entityMetadata.getCurrentIndentifierField()), createNullExpression(entityMetadata.getCurrentVersionField())); if (compositionRelationOneToOne.isEmpty()) { bodyBuilder.append(") {"); bodyBuilder.newLine(); } else { bodyBuilder.append("|| ( "); bodyBuilder .append( "%1$s.get%2$s() != null && (%1$s.get%2$s().get%3$s() != null || %1$s.get%2$s().get%4$s() != null)", entityItemName, relationFieldName.getSymbolNameCapitalisedFirstLetter(), idFieldName.getSymbolNameCapitalisedFirstLetter(), versionFieldName.getSymbolNameCapitalisedFirstLetter()); bodyBuilder.append(")"); bodyBuilder.append(") {"); bodyBuilder.newLine(); bodyBuilder.append("if (%s", createNullExpression(entityMetadata.getCurrentIndentifierField())); if (compositionRelationOneToOne.isEmpty()) { bodyBuilder.append(") {"); bodyBuilder.newLine(); } else { bodyBuilder.append("|| ( "); bodyBuilder.append("%1$s.get%2$s() != null && %1$s.get%2$s().get%3$s() != null",
public InitializerMetadataBuilder(final InitializerMetadata existing) { super(existing); isStatic = existing.getModifier() == Modifier.STATIC || existing.isStatic(); bodyBuilder.append(existing.getBody()); }
bodyBuilder.appendFormalLine("try {"); bodyBuilder.indent(); bodyBuilder.append("// Get class loader to get file from project"); bodyBuilder.newLine(); bodyBuilder bodyBuilder.appendFormalLine("if (file != null && file.exists()) {"); bodyBuilder.indent(); bodyBuilder.append("// Load properties"); bodyBuilder.newLine(); bodyBuilder
protected AbstractInvocableMemberMetadataBuilder(final InvocableMemberMetadata existing) { super(existing); this.commentStructure = existing.getCommentStructure(); this.genericDefinition = existing.getGenericDefinition(); this.parameterNames = new ArrayList<JavaSymbolName>(existing.getParameterNames()); this.parameterTypes = new ArrayList<AnnotatedJavaType>(existing.getParameterTypes()); this.throwsTypes = new ArrayList<JavaType>(existing.getThrowsTypes()); bodyBuilder.append(existing.getBody()); }
bodyBuilder.append(getDigitsBody(field, digitsAnnotation, suffix)); } else if (decimalMinAnnotation != null || decimalMaxAnnotation != null) { bodyBuilder.append(getDecimalMinAndDecimalMaxBody(field, decimalMinAnnotation, decimalMaxAnnotation, suffix)); } else if (field.getCustomData().keySet().contains(CustomDataKeys.COLUMN_FIELD)) { final Map<String, Object> values = (Map<String, Object>) field.getCustomData().get(CustomDataKeys.COLUMN_FIELD); bodyBuilder.append(getColumnPrecisionAndScaleBody(field, values, suffix)); bodyBuilder.append(getMinAndMaxBody(field, suffix));
protected AbstractInvocableMemberMetadataBuilder(final String declaredbyMetadataId, final InvocableMemberMetadata existing) { super(declaredbyMetadataId, existing); this.commentStructure = existing.getCommentStructure(); this.genericDefinition = existing.getGenericDefinition(); this.parameterNames = new ArrayList<JavaSymbolName>(existing.getParameterNames()); this.parameterTypes = new ArrayList<AnnotatedJavaType>(existing.getParameterTypes()); this.throwsTypes = new ArrayList<JavaType>(existing.getThrowsTypes()); bodyBuilder.append(existing.getBody()); }
builder.getImportRegistrationResolver().addImport(fieldType); final String initializer = getFieldInitializer(field, null, dataOnDemandClasses); bodyBuilder.append(getFieldValidationBody(field, initializer, null, true)); sb.append(fieldName);
private List<MethodMetadataBuilder> getFieldMutatorMethods() { final List<MethodMetadataBuilder> fieldMutatorMethods = new ArrayList<MethodMetadataBuilder>(); final List<JavaSymbolName> parameterNames = Arrays.asList(OBJ_SYMBOL, INDEX_SYMBOL); final JavaType[] parameterTypes = {entity, JavaType.INT_PRIMITIVE}; for (final Map.Entry<FieldMetadata, String> entry : fieldInitializers.entrySet()) { final FieldMetadata field = entry.getKey(); final JavaSymbolName mutatorName = BeanInfoUtils.getMutatorMethodName(field.getFieldName()); // Locate user-defined method if (governorHasMethod(mutatorName, parameterTypes)) { // Method found in governor so do not create method in ITD continue; } // Method not on governor so need to create it final String initializer = entry.getValue(); if (!StringUtils.isBlank(initializer)) { final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.append(getFieldValidationBody(field, initializer, mutatorName, false)); fieldMutatorMethods.add(new MethodMetadataBuilder(getId(), Modifier.PUBLIC, mutatorName, JavaType.VOID_PRIMITIVE, AnnotatedJavaType.convertFromJavaTypes(parameterTypes), parameterNames, bodyBuilder)); } } return fieldMutatorMethods; }
@Override public ConstructorMetadata build() { final ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(declaredByMetadataId); constructorBuilder.setAnnotations(annotations); constructorBuilder.setBodyBuilder(InvocableMemberBodyBuilder.getInstance().append(body)); constructorBuilder.setModifier(modifier); constructorBuilder.setParameterNames(parameterNames); constructorBuilder.setParameterTypes(parameterTypes); constructorBuilder.setThrowsTypes(throwsTypes); return constructorBuilder.build(); } }
@Override public MethodMetadata build() { final MethodMetadataBuilder methodMetadataBuilder = new MethodMetadataBuilder(declaredByMetadataId); methodMetadataBuilder.setMethodName(methodName); methodMetadataBuilder.setReturnType(returnType); methodMetadataBuilder.setAnnotations(annotations); methodMetadataBuilder.setBodyBuilder(InvocableMemberBodyBuilder.getInstance().append(body)); methodMetadataBuilder.setModifier(modifier); methodMetadataBuilder.setParameterNames(parameterNames); methodMetadataBuilder.setParameterTypes(parameterTypes); methodMetadataBuilder.setThrowsTypes(throwsTypes); return methodMetadataBuilder.build(); } }
private void addEmbeddedClassFieldMutatorMethodsToBuilder(final EmbeddedHolder embeddedHolder, final Set<ClassOrInterfaceTypeDetails> dataOnDemandClasses) { final JavaType embeddedFieldType = embeddedHolder.getEmbeddedField().getFieldType(); final JavaType[] parameterTypes = {embeddedFieldType, JavaType.INT_PRIMITIVE}; final List<JavaSymbolName> parameterNames = Arrays.asList(OBJ_SYMBOL, INDEX_SYMBOL); for (final FieldMetadata field : embeddedHolder.getFields()) { final String initializer = getFieldInitializer(field, null, dataOnDemandClasses); final JavaSymbolName fieldMutatorMethodName = BeanInfoUtils.getMutatorMethodName(field.getFieldName()); final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.append(getFieldValidationBody(field, initializer, fieldMutatorMethodName, false)); final JavaSymbolName embeddedClassMethodName = getEmbeddedFieldMutatorMethodName(embeddedHolder.getEmbeddedField().getFieldName(), field.getFieldName()); if (governorHasMethod(embeddedClassMethodName, parameterTypes)) { // Method found in governor so do not create method in ITD continue; } builder.addMethod(new MethodMetadataBuilder(getId(), Modifier.PUBLIC, embeddedClassMethodName, JavaType.VOID_PRIMITIVE, AnnotatedJavaType .convertFromJavaTypes(parameterTypes), parameterNames, bodyBuilder)); } }
protected AbstractInvocableMemberMetadataBuilder(final String declaredbyMetadataId, final InvocableMemberMetadata existing) { super(declaredbyMetadataId, existing); this.commentStructure = existing.getCommentStructure(); this.genericDefinition = existing.getGenericDefinition(); this.parameterNames = new ArrayList<JavaSymbolName>(existing.getParameterNames()); this.parameterTypes = new ArrayList<AnnotatedJavaType>(existing.getParameterTypes()); this.throwsTypes = new ArrayList<JavaType>(existing.getThrowsTypes()); bodyBuilder.append(existing.getBody()); }
protected AbstractInvocableMemberMetadataBuilder(final InvocableMemberMetadata existing) { super(existing); this.commentStructure = existing.getCommentStructure(); this.genericDefinition = existing.getGenericDefinition(); this.parameterNames = new ArrayList<JavaSymbolName>(existing.getParameterNames()); this.parameterTypes = new ArrayList<AnnotatedJavaType>(existing.getParameterTypes()); this.throwsTypes = new ArrayList<JavaType>(existing.getThrowsTypes()); bodyBuilder.append(existing.getBody()); }
public InitializerMetadataBuilder(final InitializerMetadata existing) { super(existing); isStatic = existing.getModifier() == Modifier.STATIC || existing.isStatic(); bodyBuilder.append(existing.getBody()); }
private List<MethodMetadataBuilder> getFieldMutatorMethods() { final List<MethodMetadataBuilder> fieldMutatorMethods = new ArrayList<MethodMetadataBuilder>(); final List<JavaSymbolName> parameterNames = Arrays.asList(OBJ_SYMBOL, INDEX_SYMBOL); final JavaType[] parameterTypes = {entity, JavaType.INT_PRIMITIVE}; for (final Map.Entry<FieldMetadata, String> entry : fieldInitializers.entrySet()) { final FieldMetadata field = entry.getKey(); final JavaSymbolName mutatorName = BeanInfoUtils.getMutatorMethodName(field.getFieldName()); // Locate user-defined method if (governorHasMethod(mutatorName, parameterTypes)) { // Method found in governor so do not create method in ITD continue; } // Method not on governor so need to create it final String initializer = entry.getValue(); if (!StringUtils.isBlank(initializer)) { final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.append(getFieldValidationBody(field, initializer, mutatorName, false)); fieldMutatorMethods.add(new MethodMetadataBuilder(getId(), Modifier.PUBLIC, mutatorName, JavaType.VOID_PRIMITIVE, AnnotatedJavaType.convertFromJavaTypes(parameterTypes), parameterNames, bodyBuilder)); } } return fieldMutatorMethods; }
private void addEmbeddedClassFieldMutatorMethodsToBuilder(final EmbeddedHolder embeddedHolder, final Set<ClassOrInterfaceTypeDetails> dataOnDemandClasses) { final JavaType embeddedFieldType = embeddedHolder.getEmbeddedField().getFieldType(); final JavaType[] parameterTypes = {embeddedFieldType, JavaType.INT_PRIMITIVE}; final List<JavaSymbolName> parameterNames = Arrays.asList(OBJ_SYMBOL, INDEX_SYMBOL); for (final FieldMetadata field : embeddedHolder.getFields()) { final String initializer = getFieldInitializer(field, null, dataOnDemandClasses); final JavaSymbolName fieldMutatorMethodName = BeanInfoUtils.getMutatorMethodName(field.getFieldName()); final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.append(getFieldValidationBody(field, initializer, fieldMutatorMethodName, false)); final JavaSymbolName embeddedClassMethodName = getEmbeddedFieldMutatorMethodName(embeddedHolder.getEmbeddedField().getFieldName(), field.getFieldName()); if (governorHasMethod(embeddedClassMethodName, parameterTypes)) { // Method found in governor so do not create method in ITD continue; } builder.addMethod(new MethodMetadataBuilder(getId(), Modifier.PUBLIC, embeddedClassMethodName, JavaType.VOID_PRIMITIVE, AnnotatedJavaType .convertFromJavaTypes(parameterTypes), parameterNames, bodyBuilder)); } }