View Javadoc
1   /*
2    * $Id$
3    *
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *  http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  package org.apache.struts.validator.validwhen;
22  
23  /**
24   * Holds the (interim) result during processing the parsing-tree.
25   * The result has is a {@code String}.
26   *
27   * @author Graff Stefan
28   *
29   * @since Struts 1.4.1
30   */
31  public class ValidWhenResultString extends ValidWhenResult<String> {
32  
33      /**
34       * Constructs this class with the type {@code String}.
35       *
36       * @param value the current value of
37       *     the result
38       */
39      public ValidWhenResultString(String value) {
40          super(String.class, initValue(value));
41      }
42  
43      /**
44       * Trims the {@code value} and returns {@code null}
45       * if the {@code value} is empty.
46       *
47       * @param value the value
48       *
49       * @return the trimmed {@code String} or {@code null}
50       */
51      private static String initValue(String value) {
52          if (value == null) {
53              return null;
54          }
55  
56          String s = value.trim();
57          return s.isEmpty() ? null : s;
58      }
59  }