@Override public String transform(UserAttribute obj) { return obj.getKey(); } }, new HashSet<String>());
@Override public String transform(UserAttribute obj) { return obj.getKey(); } });
@Override public boolean apply(UserAttribute input) { return Lang.equals(input.getKey(), key); } };
@Override public String transform(UserAttribute obj) { return obj.getParent() == null ? obj.getKey() : null; } });
public UserAttribute setAttribute(UserAttribute attribute, String oldValue) { return modifyOrAddAttribute(findAttribute(attribute.getKey(), oldValue), attribute); }
@Override public boolean apply(UserData input) { UserAttribute userAttribute = input.findAttribute(attribute.getKey()); return userAttribute != null && userAttribute.getValue().equals(attribute.getValue()); } });
public UserAttribute setAttribute(UserAttribute attribute) { return modifyOrAddAttribute(findAttribute(attribute.getKey()), attribute); }
public static Predicate<UserAttribute> matchAttribute(final UserAttribute a) { return new Predicate<UserAttribute>() { Predicate<UserAttribute> predicate = matchKeyValue(a.getKey(), a.getValue()); @Override public boolean apply(UserAttribute b) { if (!predicate.apply(b)) { return false; } Map<String, UserAttribute> aMap = a.getAttributesMap(), bMap = b.getAttributesMap(); Set<String> aKeys = aMap.keySet(), bKeys = bMap.keySet(); if (!aKeys.containsAll(bKeys) || !bKeys.containsAll(aKeys)) { return false; } for (String key : aKeys) { if (!matchAttribute(aMap.get(key)).apply(bMap.get(key))) { return false; } } return true; } }; } }
@Override public boolean apply(UserAttribute input) { return Lang.equals(input.getKey(), key) && Lang.equals(input.getValue(), value); } };
public UserAttribute(UserAttribute attribute) { this(attribute.getKey(), attribute.getValue(), attribute.getUser(), attribute.getParent()); }