Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (c) 2013 GraphAware
  *
  * This file is part of GraphAware.
  *
  * GraphAware is free software: you can redistribute it and/or modify it under the terms of
  * the GNU General Public License as published by the Free Software Foundation, either
  * version 3 of the License, or (at your option) any later version.
  *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details. You should have received a copy of
 * the GNU General Public License along with this program.  If not, see
 * <http://www.gnu.org/licenses/>.
 */
package com.graphaware.tx.event.improved.propertycontainer.snapshot;
    private final Iterator<RelationshipwrappedIterator;
    public RelationshipSnapshotIterator(Node nodeIterable<RelationshipwrappedIterableTransactionDataContainer transactionDataContainerDirection directionRelationshipType... relationshipTypes) {
        this. = wrappedIterable.iterator();
        this. = transactionDataContainer;
        if (transactionDataContainer.getNodeTransactionData().hasBeenDeleted(node)) {
            //change in Neo4j 2.1! Deleted relationships of a deleted node are exposed via the node's API!
            //Therefore, we don't want to add them again.
            this. = IteratorUtil.emptyIterator();
        } else {
            this. = transactionDataContainer.getRelationshipTransactionData().getDeleted(nodedirectionrelationshipTypes).iterator();
        }
    }

    
    @Override
    public Iterator<Relationshipiterator() {
        return this;
    }

    
    @Override
    protected Relationship fetchNextOrNull() {
        while (.hasNext()) {
            Relationship next = .next();
                //just created - wasn't there before the TX started
                continue;
            }
                return .getRelationshipTransactionData().getChanged(next).getPrevious();
            }
            return new RelationshipSnapshot(next);
        }
        if (.hasNext()) {
            return .next();
        }
        return null;
    }
New to GrepCode? Check out our FAQ X