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)