private ConstructorMetadata getConstructor() { // Getting MessageSource field name final String messageSource = String.valueOf(this.messageSourceField.getFieldName()); // Generating constructor ConstructorMetadataBuilder constructor = new ConstructorMetadataBuilder(getId()); constructor.setModifier(Modifier.PUBLIC); constructor.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); // Adding parameters constructor.addParameter(messageSource, SpringJavaType.MESSAGE_SOURCE); // Generating body InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine(String.format("this.%s = %s;", messageSource, messageSource)); // Adding body constructor.setBodyBuilder(bodyBuilder); return constructor.build(); }
/** * Method that generates Service implementation constructor. If exists a * repository, it will be included as constructor parameter * * @param autowired add or not autowired annotation * * @return */ private ConstructorMetadataBuilder getConstructor(boolean autowired) { ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(getId()); InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // Append repository parameter if needed if (repositoryFieldMetadata != null) { addFieldToConstructor(bodyBuilder, constructorBuilder, repositoryFieldMetadata, false); } for (FieldMetadata requiredService : requiredServiceFieldByEntity.values()) { addFieldToConstructor(bodyBuilder, constructorBuilder, requiredService, true); } constructorBuilder.setBodyBuilder(bodyBuilder); constructorBuilder.setModifier(Modifier.PUBLIC); if (autowired) { // Adding @Autowired annotation constructorBuilder.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); } return constructorBuilder; }
private ConstructorMetadata getConstructor(boolean autowired) { InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // Generating constructor ConstructorMetadataBuilder constructor = new ConstructorMetadataBuilder(getId()); constructor.setModifier(Modifier.PUBLIC); if (autowired) { constructor.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); } // Getting serviceFieldName String serviceFieldName = controllerMetadata.getServiceField().getFieldName().getSymbolName(); constructor.addParameter(serviceFieldName, controllerMetadata.getService()); // Generating body bodyBuilder .appendFormalLine(String.format("this.%s = %s;", serviceFieldName, serviceFieldName)); if (this.type == ControllerType.DETAIL || this.type == ControllerType.DETAIL_ITEM) { for (FieldMetadata serviceField : controllerMetadata.getDetailsServiceFields().values()) { // Getting parentServiceFieldName String childServiceFieldName = serviceField.getFieldName().getSymbolName(); // Adding parameters constructor.addParameter(childServiceFieldName, serviceField.getFieldType()); // Generating body bodyBuilder.appendFormalLine(String.format("this.%s = %s;", childServiceFieldName, childServiceFieldName)); } } // Adding body constructor.setBodyBuilder(bodyBuilder); return constructor.build(); }
/** * Builds and returns a class constructor which injects * {@link EntityManager} field. * * @return a ConstructorMetadataBuilder to add to ITD. */ private ConstructorMetadataBuilder getConstructor() { // Create instance and add parameters ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(this.getId()); constructorBuilder.addParameter(ENTITY_MANAGER_FIELD_NAME, JpaJavaType.ENTITY_MANAGER); // Add body InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("%1$s(%2$s);", getMutatorMethod(getEntityManagerField().build()) .getMethodName(), ENTITY_MANAGER_FIELD_NAME); constructorBuilder.setBodyBuilder(bodyBuilder); constructorBuilder.setModifier(Modifier.PUBLIC); // Add @Autowired constructorBuilder.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); return constructorBuilder; }
newConstructor.setModifier(Modifier.PUBLIC); if (autowired) { newConstructor.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED));
public static ConstructorMetadata getConstructor(String declaredByMetadataId, FieldMetadata serviceField, FieldMetadata conversionServiceField) { InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // Generating constructor ConstructorMetadataBuilder constructor = new ConstructorMetadataBuilder(declaredByMetadataId); constructor.setModifier(Modifier.PUBLIC); constructor.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); // add Service to constructor String serviceFieldName = serviceField.getFieldName().getSymbolName(); AnnotatedJavaType serviceParameter = new AnnotatedJavaType(serviceField.getFieldType(), new AnnotationMetadataBuilder( SpringJavaType.LAZY).build()); constructor.addParameterName(serviceField.getFieldName()); constructor.addParameterType(serviceParameter); // Generating body bodyBuilder.appendFormalLine("this.%1$s = %1$s;", serviceFieldName); // add Conversion service to constructor String conversionServiceFieldName = conversionServiceField.getFieldName().getSymbolName(); constructor.addParameter(conversionServiceFieldName, conversionServiceField.getFieldType()); // Generating body bodyBuilder.appendFormalLine("this.%1$s = %1$s;", conversionServiceFieldName); // Adding body constructor.setBodyBuilder(bodyBuilder); return constructor.build(); }
/** * Builds and returns a class constructor which injects * {@link EntityManager} field. * * @return a ConstructorMetadataBuilder to add to ITD. */ private ConstructorMetadataBuilder getConstructor() { // Create instance and add parameters ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(this.getId()); constructorBuilder.addParameter(ENTITY_MANAGER_FIELD_NAME, JpaJavaType.ENTITY_MANAGER); // Add body InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("%1$s(%2$s);", getMutatorMethod(getEntityManagerField().build()) .getMethodName(), ENTITY_MANAGER_FIELD_NAME); constructorBuilder.setBodyBuilder(bodyBuilder); constructorBuilder.setModifier(Modifier.PUBLIC); // Add @Autowired constructorBuilder.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); return constructorBuilder; }
newConstructor.setModifier(Modifier.PUBLIC); if (autowired) { newConstructor.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED));