public final List<FieldMetadata> buildFields() { final List<FieldMetadata> result = new ArrayList<FieldMetadata>(); for (final FieldMetadataBuilder builder : declaredFields) { result.add(builder.build()); } return result; }
private FieldMetadata getConversionServiceField() { return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new ArrayList<AnnotationMetadataBuilder>(), CONVERSION_SERVICE_FIELD_NAME, SpringJavaType.CONVERSION_SERVICE).build(); }
private FieldMetadata getMessageSourceField() { return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new ArrayList<AnnotationMetadataBuilder>(), MESSAGE_SOURCE, SpringJavaType.MESSAGE_SOURCE) .build(); }
/** * Field for applicationContext * * @return */ private FieldMetadata getApplicationContextField() { return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new ArrayList<AnnotationMetadataBuilder>(), new JavaSymbolName("applicationContext"), SpringJavaType.APPLICATION_CONTEXT).build(); }
private FieldMetadata getConcurrencyTemplateField() { JavaType concurrencyTemplateType = new JavaType( SpringletsJavaType.SPRINGLETS_CONCURRENCY_TEMPLATE.getFullyQualifiedTypeName(), 0, DataType.TYPE, null, Arrays.asList(entity)); return new FieldMetadataBuilder(getId(), Modifier.PRIVATE + Modifier.FINAL, CONCURRENCY_TEMPLATE_FIELD_NAME, concurrencyTemplateType, String.format("new %s<%s>(this)", getNameOfJavaType(SpringletsJavaType.SPRINGLETS_CONCURRENCY_TEMPLATE), entity.getSimpleTypeName())).build(); }
/** * This method obtains the service field that will be used in some different * methods. * * @param service JavaType with the information about the service related with the new Service field * * @return FieldMetadata with the necessary information about the service */ private FieldMetadata getServiceField(JavaType service) { // Check if already exists if (serviceFields.get(service) != null) { return serviceFields.get(service); } // Create the field FieldMetadataBuilder serviceField = new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new JavaSymbolName( StringUtils.uncapitalize(service.getSimpleTypeName())), service, null); serviceField.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); serviceFields.put(service, serviceField.build()); return serviceField.build(); }
private FieldMetadata getMessageSourceField(Boolean controller) { // Return current MessageSource field if already exists if (this.messageSourceField != null) { return this.messageSourceField; } // Preparing @Autowired annotation List<AnnotationMetadataBuilder> annotations = new ArrayList<AnnotationMetadataBuilder>(); if (controller) { // MessageSource field must be annotated on controllers annotations.add(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); } // Generating field FieldMetadataBuilder field = new FieldMetadataBuilder(getId(), Modifier.PRIVATE, annotations, new JavaSymbolName( "exceptionMessageSource"), SpringJavaType.MESSAGE_SOURCE); this.messageSourceField = field.build(); return this.messageSourceField; }
public void insertField(final FieldDetails fieldDetails, final boolean permitReservedWords, final boolean transientModifier, boolean evictCacheForTargetClass) { String module = getFieldModule(fieldDetails); final FieldMetadataBuilder fieldBuilder = generateFieldBuilder(fieldDetails, permitReservedWords, transientModifier); typeManagementService.addField(fieldBuilder.build(), evictCacheForTargetClass); if (module != null) { projectOperations.addModuleDependency(module); } }
/** * This method returns service field included on controller that it * represents the service spent as parameter * * @param service * Searched service * @return The field that represents the service spent as parameter */ public static FieldMetadata getFieldFor(String declaredByMetadataId, JavaType service) { // Generating service field name String fieldName = new JavaSymbolName(service.getSimpleTypeName()).getSymbolNameUnCapitalisedFirstLetter(); return new FieldMetadataBuilder(declaredByMetadataId, Modifier.PRIVATE, new ArrayList<AnnotationMetadataBuilder>(), new JavaSymbolName(fieldName), service).build(); }
private FieldMetadata getTemplateEngineField() { return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, AUTOWIRED_LIST, new JavaSymbolName( "templateEngine"), TEMPLATE_ENGINE).build(); }
private FieldMetadata getThymeleafPropertiesField() { return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, AUTOWIRED_LIST, new JavaSymbolName( "thymeleafProperties"), THYMELEAF_PROPERTIES).build(); }
/** * This method returns service field included on controller that it * represents the service spent as parameter * * @param service * Searched service * @return The field that represents the service spent as parameter */ private FieldMetadata getFieldFor(JavaType service) { // Generating service field name String fieldName = new JavaSymbolName(service.getSimpleTypeName()).getSymbolNameUnCapitalisedFirstLetter(); return new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new ArrayList<AnnotationMetadataBuilder>(), new JavaSymbolName(fieldName), service).build(); }
/** * This method obtains the constant that contains the message * "The given Iterable of items to remove can't be null!". * * @return name of the generated constant */ private FieldMetadata getIterableToRemoveCantBeNullConstant() { // Check if iterableCantBeNullConstant already exists if (iterableToRemoveCantBeNullConstant != null) { return iterableToRemoveCantBeNullConstant; } // If not exists, generate a new one and include into builder FieldMetadataBuilder constant = new FieldMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.STATIC + Modifier.FINAL, new JavaSymbolName("ITERABLE_TO_REMOVE_CANT_BE_NULL_MESSAGE"), JavaType.STRING, "\"The given Iterable of items to add can't be null!\""); iterableToRemoveCantBeNullConstant = constant.build(); return iterableToRemoveCantBeNullConstant; }
/** * Build a MethodLinkBuilderFactory field of provided type * * @param fieldName * @return FieldMetadata */ private FieldMetadata getMethodLinkBuilderFactoryField(String fieldName, JavaType controller) { FieldMetadataBuilder field = new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new JavaSymbolName(fieldName), JavaType.wrapperOf(SpringletsJavaType.SPRINGLETS_METHOD_LINK_BUILDER_FACTORY, controller), null); return field.build(); }
/** * Creates size field. * * @return {@link FieldMetadataBuilder} for building field into ITD. */ private FieldMetadata getSizeField() { // Create field FieldMetadataBuilder sizeField = new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new ArrayList<AnnotationMetadataBuilder>(), new JavaSymbolName(SIZE_VAR), JavaType.INT_PRIMITIVE); CommentStructure comment = new CommentStructure(); comment.addComment(new JavadocComment("Number of elements to create and persist."), CommentLocation.BEGINNING); sizeField.setCommentStructure(comment); return sizeField.build(); }
@Override public FieldMetadata build() { final FieldMetadataBuilder fieldMetadataBuilder = new FieldMetadataBuilder(declaredByMetadataId); fieldMetadataBuilder.setAnnotations(annotations); fieldMetadataBuilder.setFieldInitializer(fieldInitializer); fieldMetadataBuilder.setFieldName(fieldName); fieldMetadataBuilder.setFieldType(fieldType); fieldMetadataBuilder.setModifier(modifier); return fieldMetadataBuilder.build(); } }
/** * This method obtains the service field used in this Endpoint * * @return FieldMEtadataBuilder with the current service field */ private FieldMetadata getServiceField() { // Check if already exists if (serviceField != null) { return serviceField; } // If not, create a new one using the provided service serviceField = new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new JavaSymbolName( StringUtils.uncapitalize(service.getSimpleTypeName())), service, null).build(); return serviceField; }
/** * This method generates new field instance using an existing FieldMetadata * * @param declaredByMetadataId * @param field * * @return */ private FieldMetadata getNewField(String declaredByMetadataId, FieldMetadata field) { // Use the FieldMetadataBuilder for easy creation of FieldMetadata // based on existing field FieldMetadataBuilder fieldBuilder = new FieldMetadataBuilder(declaredByMetadataId, field.getModifier(), field.getFieldName(), field.getFieldType(), field.getFieldInitializer()); fieldBuilder.setAnnotations(field.getAnnotations()); return fieldBuilder.build(); }
/** * This method obtains the bus field that will be used in some different methods * * @return FieldMetadata that contains all the necessary information * about the bus field */ private FieldMetadata getBusField() { // Check if already exists if (this.busField != null) { return this.busField; } // Create the field FieldMetadataBuilder bus = new FieldMetadataBuilder(getId(), Modifier.PRIVATE, new JavaSymbolName("bus"), new JavaType("org.apache.cxf.Bus"), null); bus.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); busField = bus.build(); return busField; }
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(); }