mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-26 11:59:51 +08:00
53 lines
1.2 KiB
Java
53 lines
1.2 KiB
Java
|
/* Copyright (C) 1999 Cygnus Solutions
|
||
|
|
||
|
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();
|
||
|
}
|
||
|
}
|