1 package org.andromda.translation.ocl.validation;
2
3 /**
4 * <p/>
5 * Ensures that the result of the OCL expression is a boolean value. This is necessary because some expressions' results
6 * will actually be wrapped in an instance of <code>Object</code> because of the fact that OCLIntropector is
7 * used. </p>
8 *
9 * @author Chad Brandon
10 */
11 public final class OCLResultEnsurer
12 {
13 /**
14 * Needed in case OCL syntax is invalid - no boolean parameter is added to ensure() method
15 *
16 * @return true always - the boolean result.
17 */
18 public static boolean ensure()
19 {
20 return true;
21 }
22
23 /**
24 * Does nothing but return the passed in <code>result</code> argument.
25 *
26 * @param result the result.
27 * @return the boolean result.
28 */
29 public static boolean ensure(boolean result)
30 {
31 return result;
32 }
33
34 /**
35 * Converts the passed in <code>result</code> to a <code>boolean</code> value and returns it. If <code>result</code>
36 * is null, false will be assumed.
37 *
38 * @param result
39 * @return the boolean result.
40 */
41 public static boolean ensure(Object result)
42 {
43 return result != null && Boolean.valueOf(result.toString());
44 }
45 }