private void configure ( OperationId operationId , Method method , ServiceExecutor executor ) { if ( method . getReturnType ( ) == Void . TYPE ) { if ( method . getParameterTypes ( ) . length == 0 ) { executor . register ( operationId , ( ) -> { try { method . invoke ( this ) ; } catch ( IllegalAccessException | InvocationTargetException e ) { throw new PrimitiveException . ServiceException ( e ) ; } } ) ; } else { executor . register ( operationId , args -> { try { method . invoke ( this , ( Object [ ] ) args . value ( ) ) ; } catch ( IllegalAccessException | InvocationTargetException e ) { throw new PrimitiveException . ServiceException ( e ) ; } } ) ; } } else { if ( method . getParameterTypes ( ) . length == 0 ) { executor . register ( operationId , ( ) -> { try { return method . invoke ( this ) ; } catch ( IllegalAccessException | InvocationTargetException e ) { throw new PrimitiveException . ServiceException ( e ) ; } } ) ; } else { executor . register ( operationId , args -> { try { return method . invoke ( this , ( Object [ ] ) args . value ( ) ) ; } catch ( IllegalAccessException | InvocationTargetException e ) { throw new PrimitiveException . ServiceException ( e ) ; } } ) ; } } }
Configures the given operation on the given executor .