/** * Returns the first of the given types of annotation on the given class or * interface * * @param cid the class or interface to check (can be <code>null</code>) * @param annotationTypes the types of annotation to look for, in order (can * be <code>null</code>) * @return <code>null</code> if the given type or array of annotations is * <code>null</code>, or none were found */ public static AnnotationMetadata getFirstAnnotation(final ClassOrInterfaceTypeDetails cid, final JavaType... annotationTypes) { if (cid != null && annotationTypes != null) { for (final JavaType annotationType : annotationTypes) { final AnnotationMetadata annotation = MemberFindingUtils.getAnnotationOfType(cid.getAnnotations(), annotationType); if (annotation != null) { return annotation; } } } return null; }
public MethodMetadata getMethod(final JavaSymbolName methodName) { for (final MemberHoldingTypeDetails memberHoldingTypeDetails : details) { final MethodMetadata md = MemberFindingUtils.getDeclaredMethod(memberHoldingTypeDetails, methodName); if (md != null) { return md; } } return null; }
private void populateIdFields(final MemberDetails details, final JavaType type) { final List<FieldMetadata> idFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.IDENTIFIER_FIELD); final List<FieldMetadata> embeddedIdFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.EMBEDDED_ID_FIELD); if (!idFields.isEmpty()) { domainTypeIdFieldsCache.put(type, idFields); } else if (!embeddedIdFields.isEmpty()) { domainTypeIdFieldsCache.put(type, embeddedIdFields); } else if (domainTypeIdFieldsCache.containsKey(type)) { domainTypeIdFieldsCache.remove(type); } }
List<FieldMetadata> found = MemberFindingUtils.getFieldsWithAnnotation( governorTypeDetails, new JavaType("javax.persistence.Version")); if (found.size() > 0) { + field.getFieldName().getSymbolName() + "' must be java.lang.String"); Validate.isTrue(MemberFindingUtils.getAnnotationOfType(field .getAnnotations(), new JavaType( "javax.persistence.Transient")) != null, "Field '" checksumField = new JavaSymbolName(fieldNameBuilder.toString() .concat(this.fieldName)); if (MemberFindingUtils.getField(governorTypeDetails, checksumField) == null) {
MemberFindingUtils.getMostConcreteMemberHoldingTypeDetailsWithTag(memberDetails, PERSISTENT_TYPE); if (persistenceMemberHoldingTypeDetails == null) {
.getMostConcreteMemberHoldingTypeDetailsWithTag( targetEntityMemberDetails, PERSISTENT_TYPE); if (tarMemHoldTDetails == null) {
public List<FieldMetadata> getFieldsWithAnnotation(final JavaType annotation) { Validate.notNull(annotation, "Annotation required"); final List<FieldMetadata> result = new ArrayList<FieldMetadata>(); MemberHoldingTypeDetails current = this; while (current != null) { for (final FieldMetadata field : current.getDeclaredFields()) { if (MemberFindingUtils.getAnnotationOfType(field.getAnnotations(), annotation) != null) { // Found the annotation on this field result.add(field); } } if (current instanceof ClassOrInterfaceTypeDetails) { current = ((ClassOrInterfaceTypeDetails) current).getSuperclass(); } else { current = null; } } return result; }
/** * Indicates whether the governor has a method with the given method name * regardless of method parameters. * * @param methodName the name of the method for which to search * @return see above * @since 1.2.0 */ protected boolean governorHasMethodWithSameName(final JavaSymbolName methodName) { return MemberFindingUtils.getDeclaredMethod(governorTypeDetails, methodName) != null; }
private void populateVersionField(final MemberDetails details, final JavaType type) { final List<FieldMetadata> versionFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.VERSION_FIELD); if (!versionFields.isEmpty()) { domainTypeVersionFieldCache.put(type, versionFields.get(0)); } else if (domainTypeVersionFieldCache.containsKey(type)) { domainTypeVersionFieldCache.remove(type); } }
.getMostConcreteMemberHoldingTypeDetailsWithTag( userTypeMemberDetails, PERSISTENT_TYPE); if (userTypeMHTD != null) {
public boolean isRequestingAnnotatedWith(final AnnotationMetadata annotationMetadata, final String requestingMid) { for (final MemberHoldingTypeDetails memberHoldingTypeDetails : details) { if (MemberFindingUtils.getAnnotationOfType(memberHoldingTypeDetails.getAnnotations(), annotationMetadata.getAnnotationType()) != null) { if (memberHoldingTypeDetails.getDeclaredByMetadataId().equals(requestingMid)) { return true; } } } return false; } }
public MethodMetadata getMethod(final JavaSymbolName methodName, final List<JavaType> parameters) { for (final MemberHoldingTypeDetails memberHoldingTypeDetails : details) { final MethodMetadata md = MemberFindingUtils.getDeclaredMethod(memberHoldingTypeDetails, methodName, parameters); if (md != null) { return md; } } return null; }
private void populateIdTypes(final MemberDetails details, final JavaType type) { final List<FieldMetadata> idFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.IDENTIFIER_FIELD); final List<FieldMetadata> embeddedIdFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.EMBEDDED_ID_FIELD); if (!idFields.isEmpty()) { domainTypeIdCache.put(type, idFields.get(0).getFieldType()); } else if (!embeddedIdFields.isEmpty()) { domainTypeIdCache.put(type, embeddedIdFields.get(0).getFieldType()); } else { domainTypeIdCache.remove(type); } }
MemberFindingUtils.getMostConcreteMemberHoldingTypeDetailsWithTag(memberDetails, PERSISTENT_TYPE); if (persistenceMemberHoldingTypeDetails == null) {
/** * Returns the metadata for the annotation of the given type from within the * given metadata * * @param metadata the metadata to search; can be <code>null</code> * @param annotationType the type of annotation for which to return the * metadata; can be <code>null</code> * @return <code>null</code> if not found * @since 1.2.0 */ public static AnnotationMetadata getAnnotationOfType( final MemberHoldingTypeDetailsMetadataItem<?> metadata, final JavaType annotationType) { if (metadata == null || metadata.getMemberHoldingTypeDetails() == null) { return null; } return getAnnotationOfType(metadata.getMemberHoldingTypeDetails().getAnnotations(), annotationType); }
/** * Returns the given method of the governor. * * @param methodName the name of the method for which to search * @param parameterTypes the method's parameter types * @return null if there was no such method * @see MemberFindingUtils#getDeclaredMethod(org.springframework.roo.classpath.details.MemberHoldingTypeDetails, * JavaSymbolName, List) * @since 1.2.0 (previously called methodExists) */ protected MethodMetadata getGovernorMethod(final JavaSymbolName methodName, final List<JavaType> parameterTypes) { return MemberFindingUtils.getDeclaredMethod(governorTypeDetails, methodName, parameterTypes); }
private void populateEmbeddedIdFields(final MemberDetails details, final JavaType type) { final List<FieldMetadata> embeddedIdFields = MemberFindingUtils.getFieldsWithTag(details, CustomDataKeys.EMBEDDED_ID_FIELD); if (!embeddedIdFields.isEmpty()) { domainTypeEmbeddedIdFieldsCache.remove(type); domainTypeEmbeddedIdFieldsCache.put(type, new ArrayList<FieldMetadata>()); final MemberDetails memberDetails = getMemberDetails(embeddedIdFields.get(0).getFieldType()); if (memberDetails != null) { for (final FieldMetadata field : memberDetails.getFields()) { if (!field.getCustomData().keySet().contains(CustomDataKeys.SERIAL_VERSION_UUID_FIELD)) { domainTypeEmbeddedIdFieldsCache.get(type).add(field); } } } } else if (domainTypeEmbeddedIdFieldsCache.containsKey(type)) { domainTypeEmbeddedIdFieldsCache.remove(type); } }
.getMostConcreteMemberHoldingTypeDetailsWithTag( targetEntityMemberDetails, PERSISTENT_TYPE); if (targetMHTD == null) {
MemberFindingUtils.getAnnotationOfType(field.getAnnotations(), ROO_PLURAL); if (annotation != null) {
public MethodMetadata getMethod(final JavaSymbolName methodName, final List<JavaType> parameters, final String excludingMid) { for (final MemberHoldingTypeDetails memberHoldingTypeDetails : details) { final MethodMetadata method = MemberFindingUtils.getDeclaredMethod(memberHoldingTypeDetails, methodName, parameters); if (method != null && !method.getDeclaredByMetadataId().equals(excludingMid)) { return method; } } return null; }