View Javadoc

1   package net.sf.mavenhist.util;
2   
3   import org.apache.commons.lang.StringUtils;
4   
5   /**
6    * Utility class to check the parameters of a bean. Use the methods to check a bunch of parameters
7    * and generate an accumulated error message.
8    */
9   public final class ParamCheckUtil {
10  
11    /**
12     * Private constructor to not instantiate {@link ParamCheckUtil}.
13     */
14    private ParamCheckUtil() { }
15    
16    /**
17     * Checks a parameter and adds a message to the buffer if value was not valid.
18     * @param messageBuffer to append the error message, when validation fails.
19     * @param paramValue to validate.
20     * @param paramName to append in the error message when appropriate.
21     * @return validation result.
22     */
23    public static boolean checkParam(
24        StringBuffer messageBuffer,
25        String paramValue,
26        String paramName) {
27      if (StringUtils.isEmpty(paramValue)) {
28        writeToExceptionMessage(messageBuffer, paramName);
29        return false;
30      }
31      return true;
32    }
33  
34    /**
35     * Checks an array of parameters and adds a message to the buffer if value was not valid.
36     * @param messageBuffer to append the error message, when validation fails.
37     * @param paramValues to validate.
38     * @param paramName to append in the error message when appropriate.
39     * @return validation result.
40     */
41    public static boolean checkParam(
42        StringBuffer messageBuffer,
43        Object[] paramValues,
44        String paramName) {
45      if (paramValues == null || paramValues.length <= 0) {
46        writeToExceptionMessage(messageBuffer, paramName);
47        return false;
48      }
49      return true;
50    }
51    
52    /**
53     * Checks a parameter and adds a message to the buffer if value was not valid.
54     * @param messageBuffer to append the error message, when validation fails.
55     * @param paramValue to validate.
56     * @param paramName to append in the error message when appropriate.
57     * @return validation result.
58     */
59    public static boolean checkParam(
60        StringBuffer messageBuffer,
61        Object paramValue,
62        String paramName) {
63      if (paramValue == null) {
64        writeToExceptionMessage(messageBuffer, paramName);
65        return false;
66      }
67      return true;
68    }
69  
70    /**
71     * Checks two parameters and adds a message to the buffer if the values were not valid. One of
72     * both paramters must be set, that the params are valid.
73     * @param messageBuffer to append the error message, when validation fails.
74     * @param paramValue1 to validate.
75     * @param paramName1 to append in the error message when appropriate.
76     * @param paramValue2 to validate.
77     * @param paramName2 to append in the error message when appropriate.
78     * @return validation result.
79     */
80    public static boolean checkParamOr(
81        StringBuffer messageBuffer,
82        Object paramValue1,
83        String paramName1,
84        Object paramValue2,
85        String paramName2) {
86      if (paramValue1 == null && paramValue2 == null) {
87        writeToExceptionMessage(messageBuffer, paramName1, paramName2);
88        return false;
89      }
90      return true;
91    }
92  
93    /**
94     * Internal helper to add the error message for two parameters to the message buffer. The
95     * boolean operator between them is OR.
96     *
97     * @param messageBuffer to add the message.
98     * @param paramName1 that was missing.
99     * @param paramName2 that was missing.
100    */
101   private static void writeToExceptionMessage(
102       StringBuffer messageBuffer,
103       String paramName1,
104       String paramName2) {
105     messageBuffer.append(paramName1);
106     messageBuffer.append(" and ");
107     messageBuffer.append(paramName2);
108     messageBuffer.append(" are not set, one of both must be set. ");
109   }
110   
111   /**
112    * Internal helper to add the error message for a parameter to the message buffer.
113    * @param messageBuffer to add the message.
114    * @param paramName that was missing.
115    */
116   private static void writeToExceptionMessage(StringBuffer messageBuffer, String paramName) {
117     messageBuffer.append(paramName);
118     messageBuffer.append(" not set. ");
119   }
120 }