public AugmentWithLocalStateExpandCursor( StoreReadLayer store, ReadableTxState state, Cursor inputCursor, NeoRegister.Node.In nodeId, Register.Object.In<int[]> relTypes, Register.Object.In<Direction> expandDirection, NeoRegister.Relationship.Out relId, NeoRegister.RelType.Out relType, Register.Object.Out<Direction> direction, NeoRegister.Node.Out startNodeId, NeoRegister.Node.Out neighborNodeId) { this.txState = state; this.inputCursor = inputCursor; this.nodeId = nodeId; this.relTypes = relTypes; this.expandDirection = expandDirection; this.relId = relId; this.relType = relType; this.direction = direction; this.startNodeId = startNodeId; this.neighborNodeId = neighborNodeId; this.storeCursor = store.expand( storeInputCursor, nodeId, relTypes, expandDirection, relIdFromStore, relType, direction, startNodeId, neighborNodeId); }
@Override public Cursor expand( KernelStatement statement, Cursor inputCursor, NeoRegister.Node.In nodeId, Register.Object.In<int[]> types, Register.Object.In<Direction> expandDirection, NeoRegister.Relationship.Out relId, NeoRegister.RelType.Out relType, Register.Object.Out<Direction> direction, NeoRegister.Node.Out startNodeId, NeoRegister.Node.Out neighborNodeId) { if (statement.hasTxStateWithChanges()) { return new AugmentWithLocalStateExpandCursor( storeLayer, statement.txState(), inputCursor, nodeId, types, expandDirection, relId, relType, direction, startNodeId, neighborNodeId); } return storeLayer.expand( inputCursor, nodeId, types, expandDirection, relId, relType, direction, startNodeId, neighborNodeId); }