/** * Adds an attribute with the given {@link JavaType} as its value * * @param key the attribute name (required) * @param javaType the value (required) */ public void addClassAttribute(final String key, final JavaType javaType) { addAttribute(new ClassAttributeValue(new JavaSymbolName(key), javaType)); }
@Override public Object getTagValue(final MemberHoldingTypeDetails type) { final AnnotationMetadata layerAnnotation = MemberFindingUtils.getAnnotationOfType(type.getAnnotations(), layerAnnotationType); if (layerAnnotation == null || layerAnnotation.getAttribute(domainTypesAttribute) == null) { return null; } final AnnotationAttributeValue<?> value = layerAnnotation.getAttribute(domainTypesAttribute); final List<JavaType> domainTypes = new ArrayList<JavaType>(); if (value instanceof ClassAttributeValue) { domainTypes.add(((ClassAttributeValue) value).getValue()); } else if (value instanceof ArrayAttributeValue<?>) { final ArrayAttributeValue<?> castValue = (ArrayAttributeValue<?>) value; for (final AnnotationAttributeValue<?> val : castValue.getValue()) { if (val instanceof ClassAttributeValue) { domainTypes.add(((ClassAttributeValue) val).getValue()); } } } return domainTypes; } }
@Override public String toString() { return getName() + " -> " + value.getNameIncludingTypeParameters(); } }
while (it.hasNext()) { ClassAttributeValue existingEndPointAttr = (ClassAttributeValue) it.next(); JavaType existingEndPoint = existingEndPointAttr.getValue(); if (existingEndPoint.getFullyQualifiedTypeName().equals( endpointClass.getFullyQualifiedTypeName())) { new ClassAttributeValue(new JavaSymbolName("value"), endpointClass); endpoints.add(newEndpoint); new ClassAttributeValue(new JavaSymbolName("value"), endpointClass); endpoints.add(newEndpoint); ArrayAttributeValue<AnnotationAttributeValue<?>> newEndpoints = new ClassAttributeValue(new JavaSymbolName("value"), endpointClass); endpoints.add(endPointAttributeValue); ArrayAttributeValue<AnnotationAttributeValue<?>> newEndpoints =
.getValue(); for (ClassAttributeValue currentEntity : mapViewerAttributesOldValues) { if (currentEntity.getValue().equals(controller)) { notIncluded = false; break; final ClassAttributeValue entityAttribute = new ClassAttributeValue( new JavaSymbolName(VALUE), controller); entityAttributes.add(entityAttribute);
/** * Builds and returns `@Import` annotation * * @return {@link AnnotationMetadataBuilder} */ private AnnotationMetadataBuilder getImportAnnotation() { AnnotationMetadataBuilder annotationBuilder = new AnnotationMetadataBuilder(SpringJavaType.ANNOTATION_IMPORT); // Create List of ClassAttributeValue List<ClassAttributeValue> typesToImport = new ArrayList<ClassAttributeValue>(); typesToImport.add(new ClassAttributeValue(new JavaSymbolName("value"), this.annotationValues .getDodConfigurationClass())); typesToImport.add(new ClassAttributeValue(new JavaSymbolName("value"), this.jpaDetachableRepositoryClass)); // Convert List to ArrayAttributeValue ArrayAttributeValue<ClassAttributeValue> importAttr = new ArrayAttributeValue<ClassAttributeValue>(new JavaSymbolName("value"), typesToImport); // Add annotation attribute annotationBuilder.addAttribute(importAttr); return annotationBuilder; }
/** * Check that the parameters of the method are equals of parameters list * * @param method Method to check * @param methodParametersToCompare Parameters to compare * @return true if are equals, false otherwise */ private boolean checkParameters(MethodMetadata method, List<?> methodParametersToCompare) { boolean parametersAreEquals = true; List<AnnotatedJavaType> parameterTypes = method.getParameterTypes(); if (methodParametersToCompare.size() != parameterTypes.size()) { parametersAreEquals = false; } else { for (int i = 0; i < methodParametersToCompare.size(); i++) { ClassAttributeValue methodParameterToCompare = (ClassAttributeValue) methodParametersToCompare.get(i); AnnotatedJavaType parameterJavaType = parameterTypes.get(i); if (!methodParameterToCompare.getValue().getSimpleTypeName() .equals(parameterJavaType.getJavaType().getSimpleTypeName())) { parametersAreEquals = false; break; } } } return parametersAreEquals; }
@Override public String toString() { return getName() + " -> " + value.getNameIncludingTypeParameters(); } }
public void addClassAttribute(final String key, final String fullyQualifiedTypeName) { addAttribute(new ClassAttributeValue(new JavaSymbolName(key), new JavaType( fullyQualifiedTypeName))); }
/** * Check that the parameters of the method are equals of parameters list * * @param method Method to check * @param methodParametersToCompare Parameters to compare * @return true if are equals, false otherwise */ private boolean checkParameters(MethodMetadata method, List<?> methodParametersToCompare) { boolean parametersAreEquals = true; List<AnnotatedJavaType> parameterTypes = method.getParameterTypes(); if (methodParametersToCompare.size() != parameterTypes.size()) { parametersAreEquals = false; } else { for (int i = 0; i < methodParametersToCompare.size(); i++) { ClassAttributeValue methodParameterToCompare = (ClassAttributeValue) methodParametersToCompare.get(i); AnnotatedJavaType parameterJavaType = parameterTypes.get(i); if (!methodParameterToCompare.getValue().getSimpleTypeName() .equals(parameterJavaType.getJavaType().getSimpleTypeName())) { parametersAreEquals = false; break; } } } return parametersAreEquals; }
/** * Method that returns @RooController annotation * * @param entity * Entity over which create the controller * @param pathPrefix * Prefix to use in RequestMapping * @param controllerType * Indicates the controller type * @return */ private AnnotationMetadataBuilder getRooControllerAnnotation(final JavaType entity, final String pathPrefix, final ControllerType controllerType) { final List<AnnotationAttributeValue<?>> rooControllerAttributes = new ArrayList<AnnotationAttributeValue<?>>(); rooControllerAttributes.add(new ClassAttributeValue(new JavaSymbolName(ENTITY_KEY), entity)); if (StringUtils.isNotEmpty(pathPrefix)) { rooControllerAttributes.add(new StringAttributeValue(new JavaSymbolName("pathPrefix"), pathPrefix)); } rooControllerAttributes.add(new EnumAttributeValue(new JavaSymbolName("type"), new EnumDetails( RooJavaType.ROO_ENUM_CONTROLLER_TYPE, new JavaSymbolName(controllerType.name())))); return new AnnotationMetadataBuilder(RooJavaType.ROO_CONTROLLER, rooControllerAttributes); }
&& val instanceof ClassAttributeValue) { final ClassAttributeValue classValue = (ClassAttributeValue) val; result1.add(classValue.getValue());
final List<AnnotationAttributeValue<?>> dodConfig = new ArrayList<AnnotationAttributeValue<?>>(); dodConfig.add(new ClassAttributeValue(new JavaSymbolName("entity"), entity)); annotations.add(new AnnotationMetadataBuilder(RooJavaType.ROO_JPA_DATA_ON_DEMAND, dodConfig));
final JavaType javaType = JavaParserUtils.getJavaType(compilationUnitServices, nameToFind, null); return new ClassAttributeValue(annotationName, javaType);
annotationBuilder.addAttribute(new ClassAttributeValue(new JavaSymbolName("controller"), controller)); typeBuilder.addAnnotation(annotationBuilder);
JavaType endpoint = endpointAttr.getValue();
while (iterParamTypes.hasNext()) { ClassAttributeValue parameterAttributeValue = new ClassAttributeValue(new JavaSymbolName("value"), iterParamTypes.next() .getJavaType()); lstParamTypes.add(parameterAttributeValue);
attributeValue = "'" + ((CharAttributeValue) value).getValue().toString() + "'"; } else if (value instanceof ClassAttributeValue) { final JavaType clazz = ((ClassAttributeValue) value).getValue(); if (resolver == null || resolver.isFullyQualifiedFormRequiredAfterAutoImport(clazz)) { attributeValue = clazz.getFullyQualifiedTypeName() + ".class";