Refine search
/** * Method that generates the findAll method on current interface. * * @return */ private MethodMetadata getFindAllGlobalSearchMethod() { // Define method parameter types and parameter names List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); //Global search parameter parameterTypes.add(GLOBAL_SEARCH_PARAMETER); parameterNames.add(GOBAL_SEARCH_PARAMETER_NAME); // Pageable parameter parameterTypes.add(PAGEABLE_PARAMETER); parameterNames.add(PAGEABLE_PARAMETER_NAME); // Method name JavaSymbolName methodName = new JavaSymbolName("findAll"); // Return type JavaType returnType = new JavaType("org.springframework.data.domain.Page", 0, DataType.TYPE, null, Arrays.asList(defaultReturnType)); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, returnType, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata }
/** * Method that generates count methods for custom finders. * * @param formBean the object containing the properties to search to * @param javaSymbolName the finder name * @return */ private MethodMetadata getCustomCount(JavaType formBean, JavaSymbolName finderName) { // Define method parameter types and parameter names List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(formBean)); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames.add(new JavaSymbolName("formBean")); // Create count method name String countName = finderName.getSymbolName(); if (StringUtils.startsWith(countName, "find")) { countName = StringUtils.removeStart(countName, "find"); } else if (StringUtils.startsWith(countName, "query")) { countName = StringUtils.removeStart(countName, "query"); } else if (StringUtils.startsWith(countName, "read")) { countName = StringUtils.removeStart(countName, "read"); } countName = "count".concat(countName); JavaSymbolName countMethodName = new JavaSymbolName(countName); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, countMethodName, JavaType.LONG_PRIMITIVE, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata }
/** * Method that generates finder methods whose return types are projections. * * @param finderReturnType * @param finderName * @param parameterType * * @return */ private MethodMetadata getCustomFinder(JavaType finderReturnType, JavaSymbolName finderName, JavaType parameterType) { // Define method parameter types and parameter names List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(parameterType)); parameterTypes.add(GLOBAL_SEARCH_PARAMETER); parameterTypes.add(PAGEABLE_PARAMETER); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames.add(new JavaSymbolName("formBean")); parameterNames.add(GOBAL_SEARCH_PARAMETER_NAME); parameterNames.add(PAGEABLE_PARAMETER_NAME); // Return type JavaType returnType = new JavaType(SpringJavaType.PAGE.getFullyQualifiedTypeName(), 0, DataType.TYPE, null, Arrays.asList(finderReturnType)); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, finderName, returnType, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata }
/** * Method that generates countByReferencedField method on current interface * * @param countMethod * @return */ private MethodMetadata getCountByReferencedFieldMethod(MethodMetadata countMethod) { // Define method parameter types and parameter names List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); List<AnnotatedJavaType> methodParamTypes = countMethod.getParameterTypes(); List<JavaSymbolName> methodParamNames = countMethod.getParameterNames(); for (int i = 0; i < countMethod.getParameterTypes().size(); i++) { parameterTypes.add(methodParamTypes.get(i)); parameterNames.add(methodParamNames.get(i)); } // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, countMethod.getMethodName(), countMethod.getReturnType(), parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
/** * Method that generates findAll method for provided referenced fields on current interface * * @param countMethod * @return */ private MethodMetadata getFindAllReferencedFieldMethod(MethodMetadata method) { // Define method parameter types and parameter names List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); List<AnnotatedJavaType> methodParamTypes = method.getParameterTypes(); List<JavaSymbolName> methodParamNames = method.getParameterNames(); for (int i = 0; i < method.getParameterTypes().size(); i++) { parameterTypes.add(methodParamTypes.get(i)); parameterNames.add(methodParamNames.get(i)); } // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, method.getMethodName(), method.getReturnType(), parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
private MethodMetadata getFindOneMethod(JavaType entity, FieldMetadata identifierFieldMetadata) { // Define method parameter type and name List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterTypes .add(AnnotatedJavaType.convertFromJavaType(identifierFieldMetadata.getFieldType())); parameterNames.add(identifierFieldMetadata.getFieldName()); MethodMetadata existingMethod = getGovernorMethod(FIND_ONE_METHOD_NAME, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata return new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, FIND_ONE_METHOD_NAME, entity, parameterTypes, parameterNames, null).build(); }
new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, returnType, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata
private MethodMetadata getSaveMethod(JavaType entity) { // Define method parameter type and name List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(entity)); parameterNames.add(new JavaSymbolName(StringUtils.uncapitalize(entity.getSimpleTypeName()))); MethodMetadata existingMethod = getGovernorMethod(SAVE_METHOD_NAME, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata return new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, SAVE_METHOD_NAME, entity, parameterTypes, parameterNames, null).build(); }
/** * Method that generates method "count". * * @return MethodMetadataBuilder with public long count(); * structure */ private MethodMetadata getCountMethod() { // Define method name JavaSymbolName methodName = new JavaSymbolName("count"); // Define method parameter types List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); // Define method parameter names List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, JavaType.LONG_PRIMITIVE, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
/** * Method that generates "save" method. * * @return MethodMetadataBuilder with public Entity save(Entity entity); * structure */ private MethodMetadata getSaveMethod() { // Define save method JavaSymbolName methodName = new JavaSymbolName("save"); // Define method parameter types List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(this.entity)); // Define method parameter names List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames.add(new JavaSymbolName("entity")); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, this.entity, parameterTypes, parameterNames, null); // Build a MethodMetadata instance return methodBuilder.build(); }
private MethodMetadata getFindAllIteratorMethod(JavaType entity, FieldMetadata identifierFieldMetadata) { // Define method parameter type and name List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(JavaType .iterableOf(identifierFieldMetadata.getFieldType()))); parameterNames.add(identifierFieldMetadata.getFieldName()); MethodMetadata existingMethod = getGovernorMethod(FIND_ALL_ITERATOR_METHOD_NAME, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata return new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, FIND_ALL_ITERATOR_METHOD_NAME, JavaType.listOf(entity), parameterTypes, parameterNames, null).build(); }
/** * Method that generates custom count method. * * @return MethodMetadata */ private MethodMetadata getCustomCountMethod(MethodMetadata customCountMethod) { // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, customCountMethod.getMethodName(), customCountMethod.getReturnType(), customCountMethod.getParameterTypes(), customCountMethod.getParameterNames(), null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
/** * Method that generates method "findAll" method. * * @return MethodMetadataBuilder with public List <Entity> findAll(); * structure */ private MethodMetadata getFindAllMethod() { // Define method name JavaSymbolName methodName = new JavaSymbolName("findAll"); // Define method parameter types List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); // Define method parameter names List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } JavaType listEntityJavaType = JavaType.listOf(entity); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, listEntityJavaType, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
/** * Method that generates finder method on current interface * * @param finderMethod * @return */ private MethodMetadata getFinderMethod(MethodMetadata finderMethod) { // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, finderMethod.getMethodName(), finderMethod.getReturnType(), finderMethod.getParameterTypes(), finderMethod.getParameterNames(), null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
/** * Method that generates method "findOne". * * @return MethodMetadataBuilder with public Entity findOne(Long id); * structure */ private MethodMetadata getFindOneMethod() { // Define method name JavaSymbolName methodName = new JavaSymbolName("findOne"); // Define method parameter types List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(identifierType)); // Define method parameter names List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames.add(entityMetadata.getCurrentIndentifierField().getFieldName()); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, entity, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
/** * Generates the "findOneForUpdate" method to be able to control * concurrency in Entity updates. * * @return MethodMetadata with public Entity findOneForUpdate(T id); * structure */ private MethodMetadata getFindOneForUpdateMethod() { // Define method name JavaSymbolName methodName = new JavaSymbolName("findOneForUpdate"); // Define method parameter types List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(this.identifierType)); // Define method parameter names List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames.add(this.entityMetadata.getCurrentIndentifierField().getFieldName()); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, entity, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }
/** * This method provides populateFormats method that allows to configure date * time format for every entity * * @return */ private MethodMetadata getPopulateFormatsMethod() { // Define methodName final JavaSymbolName methodName = new JavaSymbolName("populateFormats"); List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(SpringJavaType.MODEL)); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } final List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames.add(MODEL_PARAM_NAME); // Adding annotations final List<AnnotationMetadataBuilder> annotations = new ArrayList<AnnotationMetadataBuilder>(); // Generate body InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); buildPopulateFormatBody(bodyBuilder, dateTimeFields); MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC, methodName, JavaType.VOID_PRIMITIVE, parameterTypes, parameterNames, bodyBuilder); methodBuilder.setAnnotations(annotations); return methodBuilder.build(); }
new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, JavaType.VOID_PRIMITIVE, parameterTypes, parameterNames, null); MethodMetadata methodMetadata = methodBuilder.build();
/** * Method that generates "delete" method. * * @return MethodMetadataBuilder with public void delete(Entity entity); structure */ private MethodMetadata getDeleteMethod() { // Define method name JavaSymbolName methodName = new JavaSymbolName("delete"); // Define method parameter types List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(this.entity)); // Define method parameter names List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames .add(new JavaSymbolName(StringUtils.uncapitalize(this.entity.getSimpleTypeName()))); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, JavaType.VOID_PRIMITIVE, parameterTypes, parameterNames, null); // Build a MethodMetadata instance return methodBuilder.build(); }
/** * Method that generates method "findAll" with iterable parameter. * * @return MethodMetadataBuilder with public List <Entity> findAll(Iterable * <Long> ids) structure */ private MethodMetadata getFindAllIterableMethod() { // Define method name JavaSymbolName methodName = new JavaSymbolName("findAll"); // Define method parameter types List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(JavaType.iterableOf(identifierType))); // Define method parameter names List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); parameterNames.add(new JavaSymbolName("ids")); MethodMetadata existingMethod = getGovernorMethod(methodName, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } JavaType listEntityJavaType = JavaType.listOf(entity); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC + Modifier.ABSTRACT, methodName, listEntityJavaType, parameterTypes, parameterNames, null); return methodBuilder.build(); // Build and return a MethodMetadata // instance }