01: /*
02: * This file is part of PFIXCORE.
03: *
04: * PFIXCORE is free software; you can redistribute it and/or modify
05: * it under the terms of the GNU Lesser General Public License as published by
06: * the Free Software Foundation; either version 2 of the License, or
07: * (at your option) any later version.
08: *
09: * PFIXCORE is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public License
15: * along with PFIXCORE; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17: *
18: */
19: package de.schlund.pfixcore.generator.postchecks;
20:
21: import de.schlund.pfixcore.generator.IWrapperParamPostCheck;
22: import de.schlund.pfixcore.generator.SimpleCheck;
23: import de.schlund.util.statuscodes.StatusCode;
24: import de.schlund.util.statuscodes.StatusCodeLib;
25:
26: /**
27: * @author <a href="mailto:thomas.braun@schlund.de>Tom Braun</a>
28: *
29: */
30: public class StringLength extends SimpleCheck implements
31: IWrapperParamPostCheck {
32: int minLength = 1;
33: int maxLength = 64;
34: private StatusCode scTooShort;
35: private StatusCode scTooLong;
36:
37: public StringLength() {
38: scTooShort = StatusCodeLib.PFIXCORE_GENERATOR_POSTCHECK_STRING_TOO_SHORT;
39: scTooLong = StatusCodeLib.PFIXCORE_GENERATOR_POSTCHECK_STRING_TOO_LONG;
40: }
41:
42: public void put_scode_too_long(String scode) {
43: scTooLong = StatusCodeLib.getStatusCodeByName(scode);
44: }
45:
46: public void put_scode_too_short(String scode) {
47: scTooShort = StatusCodeLib.getStatusCodeByName(scode);
48: }
49:
50: public void put_min_length(String minLength) {
51: this .minLength = Integer.parseInt(minLength);
52: }
53:
54: public void put_max_length(String maxLength) {
55: this .maxLength = Integer.parseInt(maxLength);
56: }
57:
58: public void check(Object[] obj) {
59: reset();
60: for (int i = 0; i < obj.length; i++) {
61: String str = (String) obj[i];
62: if (str.length() > maxLength) {
63: addSCode(scTooLong);
64: break;
65: }
66: if (str.length() < minLength) {
67: addSCode(scTooShort);
68: break;
69: }
70: }
71: }
72: }
|