Mercurial > hg > Members > tatsuki > bench > jungle-core
view src/main/java/jungle/impl/SimpleLinks.java @ 7:c3c65308a11b
removed some package and added Graph API
author | shoshi <shoshi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 29 Jun 2012 00:03:12 +0900 |
parents | b1fa4c494416 |
children |
line wrap: on
line source
package jungle.impl; import java.util.Iterator; import jungle.core.Link; import jungle.core.Links; import jungle.core.graph.Graph; import jungle.core.graph.Vertex; import jungle.core.graph.Vertexes; public class SimpleLinks implements Links { @SuppressWarnings("unused") private final SimpleTreeGroup group; private final Vertexes links; private final Graph graph; public SimpleLinks(SimpleTreeGroup _group,Vertexes _links,Graph _graph) { group = _group; links = _links; graph = _graph; } public boolean contains(Link _link) { if(_link instanceof SimpleLink){ SimpleLink converted = (SimpleLink)_link; Vertex link = converted.getVertex(); return links.contains(link); } return false; } public int size() { return links.size(); } public Iterator<Link> iterator() { return new SimpleLinkIteratorWrapper(links.iterator()); } private class SimpleLinkIteratorWrapper implements Iterator<Link> { private final Iterator<Vertex> iterator; public SimpleLinkIteratorWrapper(Iterator<Vertex> _iterator) { iterator = _iterator; } @Override public boolean hasNext() { return iterator.hasNext(); } @Override public Link next() { Vertex vertex = iterator.next(); if(vertex != null){ return new SimpleLink(vertex,graph); } return null; } @Override public void remove() { throw new UnsupportedOperationException("removing is not supported."); } } public Link getAt(int _position) { if(links.size() < _position || _position < 0){ throw new IndexOutOfBoundsException("invalid _position value"); } return new SimpleLink(links.at(_position),graph); } }