@Beta
 @CheckReturnValue
public abstract class Produced<T>
extends java.lang.Object
T,
 or an exception that was thrown during that production. For any type T that can be
 injected, you can also inject Produced<T>, which enables handling of any exceptions that
 were thrown during the production of T.
 For example:
    @Produces Html getResponse(
       UserInfo criticalInfo,  Produced<ExtraInfo> noncriticalInfo) {
     try {
       return new Html(criticalInfo, noncriticalInfo.get());
     } catch (ExecutionException e) {
       logger.warning(e, "Noncritical info");
       return new Html(criticalInfo);
     }
   }
 | Modifier and Type | Method and Description | 
|---|---|
abstract boolean | 
equals(java.lang.Object o)
Two  
Produced objects compare equal if both are successful with equal values, or both
 are failed with equal exceptions. | 
static <T> Produced<T> | 
failed(java.lang.Throwable throwable)
 | 
abstract T | 
get()
Returns the result of a production. 
 | 
abstract int | 
hashCode()
Returns an appropriate hash code to match  
equals(Object). | 
static <T> Produced<T> | 
successful(T value)
Returns a successful  
Produced, whose get() will return the given value. | 
public abstract T get() throws java.util.concurrent.ExecutionException
java.util.concurrent.ExecutionException - if the production threw an exceptionpublic abstract boolean equals(java.lang.Object o)
Produced objects compare equal if both are successful with equal values, or both
 are failed with equal exceptions.equals in class java.lang.Objectpublic abstract int hashCode()
equals(Object).hashCode in class java.lang.Objectpublic static <T> Produced<T> successful(@NullableDecl T value)
Produced, whose get() will return the given value.public static <T> Produced<T> failed(java.lang.Throwable throwable)