X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fphylogeny%2Fiterators%2FPostorderTreeIterator.java;h=737a75dccb75916f798844a7f4bb85b91f6dea56;hb=a1faf8469197d44197c70d2eeb529f22e8e396b4;hp=0d06ff97ffbf7dd072b89d55c0a36c7aa4a77bf2;hpb=9f539c4f1512c78c9fde1366a3f68dde3e18bdab;p=jalview.git diff --git a/forester/java/src/org/forester/phylogeny/iterators/PostorderTreeIterator.java b/forester/java/src/org/forester/phylogeny/iterators/PostorderTreeIterator.java index 0d06ff9..737a75d 100644 --- a/forester/java/src/org/forester/phylogeny/iterators/PostorderTreeIterator.java +++ b/forester/java/src/org/forester/phylogeny/iterators/PostorderTreeIterator.java @@ -34,7 +34,7 @@ import org.forester.phylogeny.PhylogenyNode; /* * * */ -public class PostorderTreeIterator implements PhylogenyNodeIterator { +public final class PostorderTreeIterator implements PhylogenyNodeIterator { final private Phylogeny _tree; final private PhylogenyNode _root; @@ -55,25 +55,20 @@ public class PostorderTreeIterator implements PhylogenyNodeIterator { reset(); } - private PhylogenyNode getRoot() { + final private PhylogenyNode getRoot() { return _root; } - private Stack getStack() { + final private Stack getStack() { return _stack; } - private Phylogeny getTree() { + final private Phylogeny getTree() { return _tree; } - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ @Override - public boolean hasNext() { + final public boolean hasNext() { return _has_next; } @@ -81,7 +76,7 @@ public class PostorderTreeIterator implements PhylogenyNodeIterator { * Advances the Iterator by one. */ @Override - public PhylogenyNode next() throws NoSuchElementException { + final public PhylogenyNode next() throws NoSuchElementException { if ( !hasNext() ) { throw new NoSuchElementException( "Attempt to call \"next()\" on iterator which has no more next elements." ); } @@ -89,7 +84,6 @@ public class PostorderTreeIterator implements PhylogenyNodeIterator { final PostOrderStackObject si = getStack().pop(); final PhylogenyNode node = si.getNode(); final int phase = si.getPhase(); - // if ( node != null ) { if ( phase > node.getNumberOfDescendants() ) { setHasNext( node != getRoot() ); return node; @@ -99,34 +93,23 @@ public class PostorderTreeIterator implements PhylogenyNodeIterator { if ( node.isInternal() ) { getStack().push( new PostOrderStackObject( node.getChildNode( phase - 1 ), 1 ) ); } - // else { - // getStack().push( new PostOrderStackObject( null, 1 ) ); - // } } - // } } } - /** - * Not supported. - * - */ @Override - public void remove() { + final public void remove() { throw new UnsupportedOperationException(); } - /** - * DOCUMENT ME! - */ @Override - public void reset() { + final public void reset() { setHasNext( true ); getStack().clear(); getStack().push( new PostOrderStackObject( getTree().getRoot(), 1 ) ); } - private void setHasNext( final boolean has_next ) { + final private void setHasNext( final boolean has_next ) { _has_next = has_next; } -} // End of class PostorderTreeIterator. +}