private SagaHandlersMap determineMessageHandlers ( final Class < ? extends Saga > sagaType ) { SagaHandlersMap handlerMap = new SagaHandlersMap ( sagaType ) ; Method [ ] methods = sagaType . getMethods ( ) ; for ( Method method : methods ) { if ( isHandlerMethod ( method ) ) { // method matches expected handler signature -> add to handler map Class < ? > handlerType = method . getParameterTypes ( ) [ 0 ] ; boolean isSagaStart = hasStartSagaAnnotation ( method ) ; handlerMap . add ( MessageHandler . reflectionInvokedHandler ( handlerType , method , isSagaStart ) ) ; } } return handlerMap ; }
Checks all methods for saga annotations .