View Javadoc
1   package com.github.davidmoten.aws.lw.client;
2   
3   import java.util.Optional;
4   
5   import com.github.davidmoten.aws.lw.client.internal.ExceptionFactoryDefault;
6   
7   @FunctionalInterface
8   public interface ExceptionFactory {
9   
10      /**
11       * Returns a {@link RuntimeException} (or subclass) if the response error
12       * condition is met (usually {@code !response.isOk()}. If no exception to be
13       * thrown then returns {@code Optional.empty()}.
14       * 
15       * @param response response to map into exception
16       * @return optional runtime exception
17       */
18      Optional<? extends RuntimeException> create(Response response);
19  
20      ExceptionFactory DEFAULT = new ExceptionFactoryDefault();
21  }