Beispiel #1
0
    public <T extends Edge> T getEdgeToward(int index) {
      T e;

      elementLock.lock();
      e = sg.getEdge(wrappedElement.getEdgeToward(index).getIndex());
      elementLock.unlock();

      return e;
    }
Beispiel #2
0
    public <T extends Node> T getTargetNode() {
      T n;

      sg.elementLock.lock();
      n = sg.getNode(wrappedElement.getTargetNode().getIndex());
      sg.elementLock.unlock();

      return n;
    }
Beispiel #3
0
    public <T extends Edge> T getEdgeFrom(Node n) {
      T e;

      elementLock.lock();
      e = sg.getEdge(wrappedElement.getEdgeFrom(n).getIndex());
      elementLock.unlock();

      return e;
    }
Beispiel #4
0
    public <T extends Edge> T getEdgeBetween(String id) {
      T e;

      elementLock.lock();
      e = sg.getEdge(wrappedElement.getEdgeBetween(id).getIndex());
      elementLock.unlock();

      return e;
    }
Beispiel #5
0
    public <T extends Edge> T getLeavingEdge(int i) {
      T e;

      elementLock.lock();
      e = sg.getEdge(wrappedElement.getLeavingEdge(i).getIndex());
      elementLock.unlock();

      return e;
    }
Beispiel #6
0
    public <T extends Node> T getOpposite(Node node) {
      T n;

      if (node instanceof SynchronizedNode) node = ((SynchronizedNode) node).wrappedElement;

      sg.elementLock.lock();
      n = sg.getNode(wrappedElement.getOpposite(node).getIndex());
      sg.elementLock.unlock();

      return n;
    }
Beispiel #7
0
    public Collection<Edge> getEdgeSet() {
      ArrayList<Edge> l;
      Iterator<Edge> it;

      elementLock.lock();

      l = new ArrayList<Edge>(wrappedElement.getDegree());
      it = wrappedElement.getEachEdge().iterator();

      while (it.hasNext()) l.add(sg.getEdge(it.next().getIndex()));

      elementLock.unlock();

      return l;
    }
Beispiel #8
0
    public Iterator<Node> getDepthFirstIterator(boolean directed) {
      LinkedList<Node> l = new LinkedList<Node>();
      Iterator<Node> it;

      elementLock.lock();
      sg.elementLock.lock();

      it = wrappedElement.getDepthFirstIterator();

      while (it.hasNext()) l.add(sg.getNode(it.next().getIndex()));

      sg.elementLock.unlock();
      elementLock.unlock();

      return l.iterator();
    }
Beispiel #9
0
    public Iterator<Node> getNeighborNodeIterator() {
      ArrayList<Node> l;
      Iterator<Node> it;

      elementLock.lock();
      sg.elementLock.lock();

      l = new ArrayList<Node>(wrappedElement.getDegree());
      it = wrappedElement.getNeighborNodeIterator();

      while (it.hasNext()) l.add(sg.getNode(it.next().getIndex()));

      sg.elementLock.unlock();
      elementLock.unlock();

      return l.iterator();
    }