public TransformationHandler( long journaledSequence, IRingBuffer <JournalItem> journalRing, IDeliveryHandler deliveryHandler, ISystemSnapshotTracker snapshot) { if (journaledSequence < 0) { throw new ArgumentOutOfRangeException("journaledSequence"); } if (journalRing == null) { throw new ArgumentNullException("journalRing"); } if (deliveryHandler == null) { throw new ArgumentNullException("deliveryHandler"); } if (snapshot == null) { throw new ArgumentNullException("snapshot"); } this.currentSequnce = journaledSequence; this.journalRing = journalRing; this.deliveryHandler = deliveryHandler; this.snapshot = snapshot; this.canHandle = true; }
private TransformationHandler CreateTransformationHandler(IRepository repository, long sequence, ISystemSnapshotTracker tracker = null) { tracker = tracker ?? new NullSystemSnapshotTracker(); var watcher = TimeoutHydratable.Load(repository); var transformer = (ITransformer) new Transformer(repository, this.snapshotRing, watcher); transformer = new CommandFilterTransformer(transformer); var handler = new ReflectionDeliveryHandler(transformer); return(new TransformationHandler(sequence, this.journalRing, handler, tracker)); }