View Javadoc

1   /*
2    * $Id: StringUtils.java [23-Apr-2004]
3    *
4    * Copyright (c) 2004, Ben Fortuna
5    * All rights reserved.
6    *
7    * Redistribution and use in source and binary forms, with or without
8    * modification, are permitted provided that the following conditions
9    * are met:
10   *
11   * 	o Redistributions of source code must retain the above copyright
12   * notice, this list of conditions and the following disclaimer.
13   *
14   * 	o Redistributions in binary form must reproduce the above copyright
15   * notice, this list of conditions and the following disclaimer in the
16   * documentation and/or other materials provided with the distribution.
17   *
18   * 	o Neither the name of Ben Fortuna nor the names of any other contributors
19   * may be used to endorse or promote products derived from this software
20   * without specific prior written permission.
21   *
22   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23   * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24   * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25   * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
26   * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27   * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28   * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
29   * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
30   * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
31   * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32   * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33   */
34  package net.fortuna.ical4j.util;
35  
36  /***
37   * Utility methods for working with parameters.
38   * @author benfortuna
39   */
40  public final class StringUtils {
41  
42      /***
43       * Constructor made private to prevent instantiation.
44       */
45      private StringUtils() {
46      }
47  
48      /***
49       * Convenience method for adding quotes. The specified
50       * object is converted to a string representation by
51       * calling its <code>toString()</code> method.
52       * @param aValue an object to quote
53       * @return a quoted string
54       */
55      public static String quote(final Object aValue) {
56  
57          if (aValue != null) {
58  
59              return "\"" + aValue + "\"";
60          }
61  
62          return "\"\"";
63      }
64  
65      /***
66       * Convenience method for removing surrounding quotes
67       * from a string value.
68       * @param aValue a string to remove quotes from
69       * @return an un-quoted string
70       */
71      public static String unquote(final String aValue) {
72  
73          if (aValue.startsWith("\"") && aValue.endsWith("\"")) {
74  
75              return aValue.substring(0, aValue.length() - 1).substring(1);
76          }
77  
78          return aValue;
79      }
80  }