public final class CheckedProviders
extends java.lang.Object
CheckedProvider.| Modifier and Type | Class and Description |
|---|---|
private static class |
CheckedProviders.CheckedProviderInvocationHandler<T> |
private static class |
CheckedProviders.ReturningHandler<T> |
private static class |
CheckedProviders.ThrowingHandler |
| Modifier | Constructor and Description |
|---|---|
private |
CheckedProviders() |
| Modifier and Type | Method and Description |
|---|---|
private static void |
checkThrowable(java.lang.Class<? extends CheckedProvider<?>> providerType,
java.lang.Class<? extends java.lang.Throwable> thrownType) |
private static <T,P extends CheckedProvider<? super T>> |
generateProvider(java.lang.Class<P> providerType,
com.google.common.base.Optional<T> value,
java.lang.reflect.InvocationHandler handler) |
private static <T,P extends CheckedProvider<? super T>> |
generateProvider(TypeLiteral<P> providerType,
com.google.common.base.Optional<T> value,
java.lang.reflect.InvocationHandler handler) |
private static com.google.common.base.Optional<java.lang.Class<?>> |
getClassOptional(com.google.common.base.Optional<?> value) |
private static boolean |
isCheckedException(java.lang.Class<? extends java.lang.Throwable> thrownType) |
static <T,P extends CheckedProvider<? super T>> |
of(java.lang.Class<P> providerType,
T instance)
Returns a
CheckedProvider which always provides instance. |
static <T,P extends CheckedProvider<? super T>> |
of(TypeLiteral<P> providerType,
T instance)
Returns a
CheckedProvider which always provides instance. |
static <T,P extends CheckedProvider<? super T>> |
throwing(java.lang.Class<P> providerType,
java.lang.Class<? extends java.lang.Throwable> throwable)
Returns a
CheckedProvider which always throws exceptions. |
static <T,P extends CheckedProvider<? super T>> |
throwing(TypeLiteral<P> providerType,
java.lang.Class<? extends java.lang.Throwable> throwable)
Returns a
CheckedProvider which always throws exceptions. |
private static <T,P extends CheckedProvider<? super T>> P generateProvider(java.lang.Class<P> providerType, com.google.common.base.Optional<T> value, java.lang.reflect.InvocationHandler handler)
private static <T,P extends CheckedProvider<? super T>> P generateProvider(TypeLiteral<P> providerType, com.google.common.base.Optional<T> value, java.lang.reflect.InvocationHandler handler)
private static com.google.common.base.Optional<java.lang.Class<?>> getClassOptional(com.google.common.base.Optional<?> value)
public static <T,P extends CheckedProvider<? super T>> P of(TypeLiteral<P> providerType, @Nullable T instance)
CheckedProvider which always provides instance.
The provider type passed as providerType must be an interface. Calls to methods
other than CheckedProvider.get() will throw UnsupportedOperationException.
providerType - the type of the CheckedProvider to returninstance - the instance that should always be providedpublic static <T,P extends CheckedProvider<? super T>> P of(java.lang.Class<P> providerType, @Nullable T instance)
CheckedProvider which always provides instance.providerType - the type of the CheckedProvider to returninstance - the instance that should always be provided#of(TypeLiteral, T)public static <T,P extends CheckedProvider<? super T>> P throwing(TypeLiteral<P> providerType, java.lang.Class<? extends java.lang.Throwable> throwable)
CheckedProvider which always throws exceptions.
This method uses the nullary (no argument) constructor of throwable to create a new
instance of the given Throwable on each method invocation which is then thrown
immediately.
See #of(TypeLiteral, T) for more information.
providerType - the type of the CheckedProvider to returnthrowable - the type of the Throwable to throw#of(TypeLiteral, T)public static <T,P extends CheckedProvider<? super T>> P throwing(java.lang.Class<P> providerType, java.lang.Class<? extends java.lang.Throwable> throwable)
CheckedProvider which always throws exceptions.providerType - the type of the CheckedProvider to returnthrowable - the type of the Throwable to throwthrowing(TypeLiteral, Class)private static boolean isCheckedException(java.lang.Class<? extends java.lang.Throwable> thrownType)
private static void checkThrowable(java.lang.Class<? extends CheckedProvider<?>> providerType, java.lang.Class<? extends java.lang.Throwable> thrownType)