protected void ResolveObjectFutures(IList <IObjectCommand> objectCommands) { IObjectFutureHandlerRegistry objectFutureHandlerRegistry = this.objectFutureHandlerRegistry; IDictionary <Type, ISet <IObjectFuture> > sortedObjectFutures = BucketSortObjectFutures(objectCommands); foreach (KeyValuePair <Type, ISet <IObjectFuture> > entry in sortedObjectFutures) { Type type = entry.Key; ISet <IObjectFuture> objectFutures = entry.Value; IObjectFutureHandler objectFutureHandler = objectFutureHandlerRegistry.GetObjectFutureHandler(type); if (objectFutureHandler == null) { throw new Exception("No handler found for IObjectFutures of type '" + type.Name + "'"); } IList <IObjectFuture> objectFutureList = new List <IObjectFuture>(objectFutures); objectFutureHandler.Handle(objectFutureList); } }
public DefaultXmlReader(XmlReader xmlReader, ICyclicXmlController xmlController, IObjectFutureHandlerRegistry objectFutureHandlerRegistry) { this.xmlReader = xmlReader; this.xmlController = xmlController; this.objectFutureHandlerRegistry = objectFutureHandlerRegistry; }