Class ValueOrException<V,E extends Throwable & SensibleClone<E>>

java.lang.Object
com.rabbitmq.utility.ValueOrException<V,E>

public class ValueOrException<V,E extends Throwable & SensibleClone<E>> extends Object
  • Field Details

    • _useValue

      private final boolean _useValue
    • _value

      private final V _value
    • _exception

      private final E extends Throwable & SensibleClone<E> _exception
  • Constructor Details

    • ValueOrException

      private ValueOrException(V value, E exception, boolean useValue)
      dual-purpose private constructor: one will be null, and the flag tells which to use
      Parameters:
      value - the value to wrap, if applicable
      exception - the exception to wrap, if applicable
      useValue - true if we should use the value, rather than the exception
  • Method Details

    • makeValue

      public static <V, E extends Throwable & SensibleClone<E>> ValueOrException<V,E> makeValue(V value)
      Factory method for values
      Parameters:
      value - the value to wrap as a ValueOrException
      Returns:
      the wrapped value
    • makeException

      public static <V, E extends Throwable & SensibleClone<E>> ValueOrException<V,E> makeException(E exception)
      Factory method for exceptions
      Parameters:
      exception - the exception to wrap as a ValueOrException
      Returns:
      the wrapped exception
    • getValue

      public V getValue() throws E
      Retrieve value or throw exception
      Returns:
      the wrapped value, if it's a value
      Throws:
      E - the wrapped exception, if it's an exception