Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Java sucks
- // old version without generics
- public Set<User> getUsersOld(String userIds) {
- Set<User> users = Sets.newHashSet();
- if (userIds == null) return users;
- for (String userId : userIds.split(",")) {
- userId = userId.trim();
- User user = userManager.get(userId);
- if (user != null) users.add(user);
- }
- return users;
- }
- // new version with generics
- public Set<User> getUsersNew(String userIds) {
- final UserManager fUserManager = userManager; // retarded
- return getEntities(userIds, ",",
- new GetCallback<User>() {
- User get(key) {
- fUserManager.get(key);
- }
- });
- }
- protected <T> Set<T> getEntities(String keys, String delimiter, GetCallback<T> fetchCallback) {
- Set<T> ts = Sets.newHashSet();
- if (keys == null) return ts;
- for (String v : keys.split(delimiter)) {
- v = v.trim();
- T t = fetchCallback.get(v);
- if (t != null) ts.add(t);
- }
- return ts;
- }
- interface GetCallback<T> {
- <T> T get(String key);
- }
Add Comment
Please, Sign In to add comment