/** * Returns the {@link Set} of {@link AddeEntry}s that are known to work (for a given {@link * EntryType} of entries). * * @param type The {@code EntryType} you are interested in. * @return A {@code Set} of matching {@code RemoteAddeEntry}s. If there were no matches, an empty * {@code Set} is returned. */ public Set<AddeEntry> getVerifiedEntries(final EntryType type) { notNull(type); Set<AddeEntry> verified = newLinkedHashSet(trie.size()); for (AddeEntry entry : trie.values()) { if (entry.getEntryType() != type) { continue; } if (entry instanceof LocalAddeEntry) { verified.add(entry); } else if (entry.getEntryValidity() == EntryValidity.VERIFIED) { verified.add(entry); } } return verified; }
public Set<AddeServer.Group> getIdvStyleRemoteGroups(final String server, final EntryType type) { Set<AddeServer.Group> idvGroups = newLinkedHashSet(trie.size()); String typeStr = type.name(); for (AddeEntry matched : trie.getPrefixedBy(server).values()) { if (matched == RemoteAddeEntry.INVALID_ENTRY) { continue; } if ((matched.getEntryStatus() == EntryStatus.ENABLED) && (matched.getEntryValidity() == EntryValidity.VERIFIED) && (matched.getEntryType() == type)) { String group = matched.getGroup(); idvGroups.add(new AddeServer.Group(typeStr, group, group)); } } return idvGroups; }