@NonNull public static User showUserAlternative( final Twitter twitter, final long id, final String screenName) throws TwitterException { final String searchScreenName; if (screenName != null) { searchScreenName = screenName; } else if (id != -1) { searchScreenName = twitter.showFriendship(id).getTargetUserScreenName(); } else throw new IllegalArgumentException(); final Paging paging = new Paging(); paging.count(1); for (final User user : twitter.searchUsers(searchScreenName, paging)) { if (user.getId() == id || searchScreenName.equalsIgnoreCase(user.getScreenName())) return user; } if (id != -1) { final ResponseList<Status> timeline = twitter.getUserTimeline(id, paging); for (final Status status : timeline) { final User user = status.getUser(); if (user.getId() == id) return user; } } else { final ResponseList<Status> timeline = twitter.getUserTimeline(screenName, paging); for (final Status status : timeline) { final User user = status.getUser(); if (searchScreenName.equalsIgnoreCase(user.getScreenName())) return user; } } throw new TwitterException("can't find user"); }
@Override protected final List<User> getUsers(final Twitter twitter) throws TwitterException { if (twitter == null) return null; final Paging paging = new Paging(); paging.count(getCount()); if (getCursor() > 0) { paging.setCursor(getCursor()); } final PageableResponseList<User> users = getCursoredUsers(twitter, paging); if (users == null) return null; setCursorIds(users); return users; }