Ejemplo n.º 1
0
 /**
  * @param aKey a key to look for
  * @param aValue (may be null) a value for the give key to look for
  * @return all nodes containing the given key (with the given value is specified)
  */
 public Iterator<Node> getNodesByTag(final String aKey, final String aValue) {
   Iterator<Node> n = myCachingDataSet.getNodesByTag(aKey, aValue);
   if (n == null || !n.hasNext()) {
     n = myDataSource.getNodesByTag(aKey, aValue);
     if (n != null && n.hasNext()) {
       LinkedList<Node> nodes = new LinkedList<Node>();
       while (n.hasNext()) {
         Node node = n.next();
         nodes.add(node);
         myCachingDataSet.addNode(node);
         return nodes.iterator();
       }
     }
   }
   return n;
 }