Guest User

Untitled

a guest
Jan 24th, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. interface UseCase <in Request, out Response> {
  2. fun handleRequest(request: Request) : Response
  3. }
  4.  
  5. interface UseCaseResponseHandler <in Response> {
  6. fun handleResponse(response: Response)
  7. }
  8.  
  9. class UseCaseRunner <Request, Response> {
  10.  
  11. @Inject lateinit var runner: Runner
  12.  
  13. fun runUseCase(
  14. useCase: UseCase<Request, Response>,
  15. request: Request,
  16. responseHandler: UseCaseResponseHandler<Response>) {
  17. runner.run {
  18. val response = useCase.handleRequest(request)
  19. responseHandler.handleResponse(response)
  20. }
  21. }
  22. }
Add Comment
Please, Sign In to add comment