| /* Copyright (C) 1999 Free Software Foundation |
| |
| This file is part of libgcj. |
| |
| This software is copyrighted work licensed under the terms of the |
| Libgcj License. Please consult the file "LIBGCJ_LICENSE" for |
| details. */ |
| |
| package gnu.gcj.util; |
| |
| import java.util.Enumeration; |
| import java.util.NoSuchElementException; |
| |
| public class EnumerationChain implements Enumeration |
| { |
| private Enumeration first_; |
| private Enumeration second_; |
| |
| public EnumerationChain (Enumeration first, Enumeration second) |
| { |
| if (first == null |
| || second == null) |
| throw new NullPointerException(); |
| |
| first_ = first; |
| second_ = second; |
| } |
| |
| public synchronized boolean hasMoreElements() |
| { |
| if (first_ == null) |
| return false; |
| else |
| return first_.hasMoreElements(); |
| } |
| |
| public synchronized Object nextElement() throws NoSuchElementException |
| { |
| while (first_ != null) |
| { |
| if (! first_.hasMoreElements()) |
| { |
| first_ = second_; |
| second_ = null; |
| } |
| else |
| return first_.nextElement(); |
| } |
| |
| throw new NoSuchElementException(); |
| } |
| } |