X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fphylogeny%2Fiterators%2FPostorderTreeIterator.java;h=9819b584172186fd6e0d54c055ec11b61bfdc4e6;hb=2b071f72fe8a9201e07775030b77aaded0e5b4e5;hp=140547689e094e3f07a02b480e5efd8964f07192;hpb=48f7a89be9d34f1930a1f863e608235cc27184c5;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 1405476..9819b58 100644 --- a/forester/java/src/org/forester/phylogeny/iterators/PostorderTreeIterator.java +++ b/forester/java/src/org/forester/phylogeny/iterators/PostorderTreeIterator.java @@ -5,7 +5,7 @@ // Copyright (C) 2008-2009 Christian M. Zmasek // Copyright (C) 2008-2009 Burnham Institute for Medical Research // All rights reserved -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either @@ -15,13 +15,13 @@ // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. -// +// // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA // // Contact: phylosoft @ gmail . com -// WWW: www.phylosoft.org/forester +// WWW: https://sites.google.com/site/cmzmasek/home/software/forester package org.forester.phylogeny.iterators; @@ -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,31 +55,28 @@ 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! - */ - public boolean hasNext() { + @Override + final public boolean hasNext() { return _has_next; } /** * Advances the Iterator by one. */ - public PhylogenyNode next() throws NoSuchElementException { + @Override + final public PhylogenyNode next() throws NoSuchElementException { if ( !hasNext() ) { throw new NoSuchElementException( "Attempt to call \"next()\" on iterator which has no more next elements." ); } @@ -87,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; @@ -97,32 +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. - * - */ - public void remove() { + @Override + final public void remove() { throw new UnsupportedOperationException(); } - /** - * DOCUMENT ME! - */ - public void reset() { + @Override + 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. +}