public IMessageHandlingMember CreateHandler(Type type, MethodBase executable, IParameterResolverFactory parameterResolverFactory) { IMessageHandlingMember handler = null; foreach (IHandlerDefinition handlerDefinition in _handlerDefinitions) { handler = handlerDefinition.CreateHandler(type, executable, parameterResolverFactory); if (handler != null) { return(_handlerEnhancerDefinition.WrapHandler(type, handler)); } } return(handler); }
public AggregateAnnotationCommandHandler(IRepository <T> repository, ICommandTargetResolver commandTargetResolver, IParameterResolverFactory parameterResolverFactory) : this(repository, commandTargetResolver, AnnotatedAggregateMetaModelFactory.InspectAggregate(typeof(T), parameterResolverFactory)) { }
public IMessageHandlingMember <T> CreateHandler <T>(MethodBase executable, IParameterResolverFactory parameterResolverFactory) { return((IMessageHandlingMember <T>)CreateHandler(typeof(T), executable, parameterResolverFactory)); }
public static IAggregateModel InspectAggregate(Type aggregateType, IParameterResolverFactory parameterResolverFactory) { return(new AnnotatedAggregateMetaModelFactory(parameterResolverFactory).CreateModel(aggregateType)); }
public static IAggregateModel InspectAggregate(Type aggregateType, IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition) { return(new AnnotatedAggregateMetaModelFactory(parameterResolverFactory, handlerDefinition).CreateModel(aggregateType)); }
public AnnotatedAggregateMetaModelFactory(IParameterResolverFactory parameterResolverFactory) : this(parameterResolverFactory, ClasspathHandlerDefinition.Factory) { }
public AnnotatedAggregateMetaModelFactory(IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition) { _parameterResolverFactory = parameterResolverFactory; _handlerDefinition = handlerDefinition; }
public static AnnotatedHandlerInspector InspectType(Type handlerType, IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition) { return(CreateInspector(handlerType, parameterResolverFactory, handlerDefinition, new Dictionary <Type, AnnotatedHandlerInspector>())); }
public SimpleEventHandlerInvoker(List <object> eventListeners, IParameterResolverFactory parameterResolverFactory, IListenerInvocationErrorHandler listenerInvocationErrorHandler) : this(eventListeners, parameterResolverFactory, listenerInvocationErrorHandler, new SequentialPerAggregatePolicy()) { }
public static AnnotatedHandlerInspector InspectType(Type handlerType, IParameterResolverFactory parameterResolverFactory) { return(InspectType(handlerType, parameterResolverFactory, ClasspathHandlerDefinition.Factory)); }
public AnnotatedHandlerInspector(Type inspectedType, List <AnnotatedHandlerInspector> superClassInspectors, IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition, Dictionary <Type, AnnotatedHandlerInspector> registry) { _inspectedType = inspectedType; _parameterResolverFactory = parameterResolverFactory; _registry = registry; _superClassInspectors = superClassInspectors; Handlers = new List <IMessageHandlingMember>(); _handlerDefinition = handlerDefinition; }
public AnnotatedSagaManager(ISagaRepository <T> sagaRepository, Func <T> sagaFactory, IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition, IListenerInvocationErrorHandler listenerInvocationErrorHandler) : this(sagaRepository, sagaFactory, new AnnotationSagaMetaModelFactory(parameterResolverFactory, handlerDefinition).ModelOf <T>(), new LoggingErrorHandler()) { }
private AnnotationEventListenerAdapter(object annotatedEventListener, IParameterResolverFactory parameterResolverFactory, IHandlerDefinition handlerDefinition) { _annotatedEventListener = annotatedEventListener; _listenerType = annotatedEventListener.GetType(); _inspector = AnnotatedHandlerInspector.InspectType(annotatedEventListener.GetType(), parameterResolverFactory, handlerDefinition); }
private AnnotationEventListenerAdapter(object annotatedEventListener, IParameterResolverFactory parameterResolverFactory) : this(annotatedEventListener, parameterResolverFactory, ClasspathHandlerDefinition.Factory) { }