blob: 1057a767073759d008fd902bdb29ad65d1678b45 [file] [log] [blame]
/*
* Copyright (c) 2005, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0, which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package com.sun.tools.txw2.model;
import java.util.Iterator;
/**
* @author Kohsuke Kawaguchi
*/
final class CycleIterator implements Iterator<Leaf> {
private Leaf start;
private Leaf current;
private boolean hasNext = true;
public CycleIterator(Leaf start) {
assert start!=null;
this.start = start;
this.current = start;
}
@Override
public boolean hasNext() {
return hasNext;
}
@Override
public Leaf next() {
Leaf last = current;
current = current.getNext();
if(current==start)
hasNext = false;
return last;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
}