org.gcube.vremanagement.resourcebroker.utils.assertions
Class Assertion<T extends java.lang.Throwable>

java.lang.Object
  extended by org.gcube.vremanagement.resourcebroker.utils.assertions.Assertion<T>

public class Assertion<T extends java.lang.Throwable>
extends java.lang.Object

General purpose assertion handler. Assertion can be generalized to check a boolean expression and to raise an exception in correspondence to a failure happening during checking.

 Example:

     Assertion<TheExceptionType> assertion = new Assertion<ParamException> ();
     assertion.validate (param != null, new TheExceptionType("invalid parameter null"));

 or, in a more compact form:
    // The exception to throw in case of failure
    // during the evaluation of the expected condition
    new Assertion<TheExceptionType>().validate(
        i>5,                                                     // The expected boolean condition
        new TheExceptionType("Parameter must be greater than 5")); //The error message

 

Author:
Daniele Strollo (ISTI-CNR)

Constructor Summary
Assertion()
           
 
Method Summary
 void validate(boolean assertion, T exc)
          Makes an assertion and if the expression evaluation fails, throws an exception of type T.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Assertion

public Assertion()
Method Detail

validate

public final void validate(boolean assertion,
                           T exc)
                    throws T extends java.lang.Throwable
Makes an assertion and if the expression evaluation fails, throws an exception of type T.
 Example:
        new Assertion<MyException>().validate(whatExpected, new MyException("guard failed"));
 

Parameters:
assertion - the boolean expression to evaluate
exc - the exception to throw if the condition does not hold
Throws:
T - the exception extending Throwable
T extends java.lang.Throwable