/** * Attempts to locate the field which is represented by the presented property name. * * <p> * Not every JavaBean getter or setter actually backs to a field with an identical name. In such cases, null will be returned. * * @param propertyName the property name (required) * @return the field if found, or null if it could not be found */ public FieldMetadata getFieldForPropertyName(JavaSymbolName propertyName) { Assert.notNull(propertyName, "Property name required"); for (MemberHoldingTypeDetails holder : memberHoldingTypeDetails) { FieldMetadata result = MemberFindingUtils.getDeclaredField(holder, propertyName); if (result != null) { return result; } // To get here means we couldn't find the property using the exact same case; // try to scan with a lowercase first character (see ROO-203) result = MemberFindingUtils.getDeclaredField(holder, new JavaSymbolName(StringUtils.uncapitalize(propertyName.getSymbolName()))); if (result != null) { return result; } } return null; }
/** * Attempts to locate the field which is represented by the presented property name. * * <p> * Not every JavaBean getter or setter actually backs to a field with an identical name. In such cases, null will be returned. * * @param memberHoldingTypeDetails the member holders to scan (required) * @param propertyName the property name (required) * @return the field if found, or null if it could not be found */ public static FieldMetadata getFieldForPropertyName(MemberDetails memberDetails, JavaSymbolName propertyName) { Assert.notNull(propertyName, "Property name required"); for (MemberHoldingTypeDetails holder : memberDetails.getDetails()) { FieldMetadata result = MemberFindingUtils.getDeclaredField(holder, propertyName); if (result != null) { return result; } // To get here means we couldn't find the property using the exact same case; // try to scan with a lowercase first character (see ROO-203) result = MemberFindingUtils.getDeclaredField(holder, new JavaSymbolName(StringUtils.uncapitalize(propertyName.getSymbolName()))); if (result != null) { return result; } } return null; }