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);
        }
Пример #2
0
 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;
 }
Пример #8
0
 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())
 {
 }
Пример #10
0
 public static AnnotatedHandlerInspector InspectType(Type handlerType, IParameterResolverFactory parameterResolverFactory)
 {
     return(InspectType(handlerType, parameterResolverFactory, ClasspathHandlerDefinition.Factory));
 }
Пример #11
0
 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)
 {
 }