< prev index next >

src/java.base/share/classes/sun/util/resources/ParallelListResourceBundle.java

Print this page




 196         private final ResourceBundle parent;
 197 
 198         private KeySet(Set<String> set, ResourceBundle parent) {
 199             this.set = set;
 200             this.parent = parent;
 201         }
 202 
 203         @Override
 204         public boolean contains(Object o) {
 205             if (set.contains(o)) {
 206                 return true;
 207             }
 208             return (parent != null) ? parent.containsKey((String) o) : false;
 209         }
 210 
 211         @Override
 212         public Iterator<String> iterator() {
 213             if (parent == null) {
 214                 return set.iterator();
 215             }
 216             return new Iterator<String>() {
 217                 private Iterator<String> itr = set.iterator();
 218                 private boolean usingParent;
 219 
 220                 @Override
 221                 public boolean hasNext() {
 222                     if (itr.hasNext()) {
 223                         return true;
 224                     }
 225                     if (!usingParent) {
 226                         Set<String> nextset = new HashSet<>(parent.keySet());
 227                         nextset.removeAll(set);
 228                         itr = nextset.iterator();
 229                         usingParent = true;
 230                     }
 231                     return itr.hasNext();
 232                 }
 233 
 234                 @Override
 235                 public String next() {
 236                     if (hasNext()) {




 196         private final ResourceBundle parent;
 197 
 198         private KeySet(Set<String> set, ResourceBundle parent) {
 199             this.set = set;
 200             this.parent = parent;
 201         }
 202 
 203         @Override
 204         public boolean contains(Object o) {
 205             if (set.contains(o)) {
 206                 return true;
 207             }
 208             return (parent != null) ? parent.containsKey((String) o) : false;
 209         }
 210 
 211         @Override
 212         public Iterator<String> iterator() {
 213             if (parent == null) {
 214                 return set.iterator();
 215             }
 216             return new Iterator<>() {
 217                 private Iterator<String> itr = set.iterator();
 218                 private boolean usingParent;
 219 
 220                 @Override
 221                 public boolean hasNext() {
 222                     if (itr.hasNext()) {
 223                         return true;
 224                     }
 225                     if (!usingParent) {
 226                         Set<String> nextset = new HashSet<>(parent.keySet());
 227                         nextset.removeAll(set);
 228                         itr = nextset.iterator();
 229                         usingParent = true;
 230                     }
 231                     return itr.hasNext();
 232                 }
 233 
 234                 @Override
 235                 public String next() {
 236                     if (hasNext()) {


< prev index next >