Class CheckedProviders
- java.lang.Object
-
- com.google.inject.throwingproviders.CheckedProviders
-
public final class CheckedProviders extends java.lang.Object
Static utility methods for creating and working with instances ofCheckedProvider
.- Since:
- 4.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CheckedProviders.CheckedProviderInvocationHandler<T>
private static class
CheckedProviders.ReturningHandler<T>
private static class
CheckedProviders.ThrowingHandler
-
Constructor Summary
Constructors Modifier Constructor Description private
CheckedProviders()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method 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>>
PgenerateProvider(TypeLiteral<P> providerType, com.google.common.base.Optional<T> value, java.lang.reflect.InvocationHandler handler)
private static <T,P extends CheckedProvider<? super T>>
PgenerateProvider(java.lang.Class<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>>
Pof(TypeLiteral<P> providerType, T instance)
Returns aCheckedProvider
which always providesinstance
.static <T,P extends CheckedProvider<? super T>>
Pof(java.lang.Class<P> providerType, T instance)
Returns aCheckedProvider
which always providesinstance
.static <T,P extends CheckedProvider<? super T>>
Pthrowing(TypeLiteral<P> providerType, java.lang.Class<? extends java.lang.Throwable> throwable)
Returns aCheckedProvider
which always throws exceptions.static <T,P extends CheckedProvider<? super T>>
Pthrowing(java.lang.Class<P> providerType, java.lang.Class<? extends java.lang.Throwable> throwable)
Returns aCheckedProvider
which always throws exceptions.
-
-
-
Method Detail
-
generateProvider
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)
-
generateProvider
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)
-
getClassOptional
private static com.google.common.base.Optional<java.lang.Class<?>> getClassOptional(com.google.common.base.Optional<?> value)
-
of
public static <T,P extends CheckedProvider<? super T>> P of(TypeLiteral<P> providerType, @Nullable T instance)
Returns aCheckedProvider
which always providesinstance
.The provider type passed as
providerType
must be an interface. Calls to methods other thanCheckedProvider.get()
will throwUnsupportedOperationException
.- Parameters:
providerType
- the type of theCheckedProvider
to returninstance
- the instance that should always be provided
-
of
public static <T,P extends CheckedProvider<? super T>> P of(java.lang.Class<P> providerType, @Nullable T instance)
Returns aCheckedProvider
which always providesinstance
.- Parameters:
providerType
- the type of theCheckedProvider
to returninstance
- the instance that should always be provided- See Also:
#of(TypeLiteral, T)
-
throwing
public static <T,P extends CheckedProvider<? super T>> P throwing(TypeLiteral<P> providerType, java.lang.Class<? extends java.lang.Throwable> throwable)
Returns aCheckedProvider
which always throws exceptions.This method uses the nullary (no argument) constructor of
throwable
to create a new instance of the givenThrowable
on each method invocation which is then thrown immediately.See
#of(TypeLiteral, T)
for more information.- Parameters:
providerType
- the type of theCheckedProvider
to returnthrowable
- the type of theThrowable
to throw- See Also:
#of(TypeLiteral, T)
-
throwing
public static <T,P extends CheckedProvider<? super T>> P throwing(java.lang.Class<P> providerType, java.lang.Class<? extends java.lang.Throwable> throwable)
Returns aCheckedProvider
which always throws exceptions.- Parameters:
providerType
- the type of theCheckedProvider
to returnthrowable
- the type of theThrowable
to throw- See Also:
throwing(TypeLiteral, Class)
-
isCheckedException
private static boolean isCheckedException(java.lang.Class<? extends java.lang.Throwable> thrownType)
-
checkThrowable
private static void checkThrowable(java.lang.Class<? extends CheckedProvider<?>> providerType, java.lang.Class<? extends java.lang.Throwable> thrownType)
-
-