private void addUserPrefParameters(final UserPrefDO userPref, final Class<?> beanType, final Object obj) { Validate.notNull(userPref); Validate.notNull(beanType); final Field[] fields = beanType.getDeclaredFields(); AccessibleObject.setAccessible(fields, true); int no = 0; for (final Field field : fields) { if (field.isAnnotationPresent(UserPrefParameter.class) == true) { final UserPrefEntryDO userPrefEntry = new UserPrefEntryDO(); userPrefEntry.setParameter(field.getName()); if (obj != null) { Object value = null; try { value = field.get(obj); userPrefEntry.setValue(convertParameterValueToString(value)); } catch (final IllegalAccessException ex) { log.error(ex.getMessage(), ex); } userPrefEntry.valueAsObject = value; } evaluateAnnotation(userPrefEntry, beanType, field); if (userPrefEntry.orderString == null) { userPrefEntry.orderString = "ZZZ" + StringHelper.format2DigitNumber(no++); } userPref.addUserPrefEntry(userPrefEntry); } } }
public UserPrefEntryDO ensureAndGetAccessEntry(final String parameter) { if (this.prefEntries == null) { setUserPrefEntries(new TreeSet<UserPrefEntryDO>()); } UserPrefEntryDO entry = getUserPrefEntry(parameter); if (entry == null) { entry = new UserPrefEntryDO(); entry.setParameter(parameter); this.addUserPrefEntry(entry); } return entry; }
private void evaluateAnnotations(final UserPrefDO userPref, final Class<?> beanType) { if (userPref.getUserPrefEntries() == null) { return; } final Field[] fields = beanType.getDeclaredFields(); int no = 0; for (final Field field : fields) { if (field.isAnnotationPresent(UserPrefParameter.class) == true) { UserPrefEntryDO userPrefEntry = null; for (final UserPrefEntryDO entry : userPref.getUserPrefEntries()) { if (field.getName().equals(entry.getParameter()) == true) { userPrefEntry = entry; break; } } if (userPrefEntry == null) { userPrefEntry = new UserPrefEntryDO(); evaluateAnnotation(userPrefEntry, beanType, field); userPref.addUserPrefEntry(userPrefEntry); } else { evaluateAnnotation(userPrefEntry, beanType, field); } if (StringUtils.isBlank(userPrefEntry.orderString) == true) { userPrefEntry.orderString = "ZZZ" + StringHelper.format2DigitNumber(no++); } userPrefEntry.setParameter(field.getName()); } } }