001: /**
002: * ===========================================
003: * JFreeReport : a free Java reporting library
004: * ===========================================
005: *
006: * Project Info: http://reporting.pentaho.org/
007: *
008: * (C) Copyright 2001-2007, by Object Refinery Ltd, Pentaho Corporation and Contributors.
009: *
010: * This library is free software; you can redistribute it and/or modify it under the terms
011: * of the GNU Lesser General Public License as published by the Free Software Foundation;
012: * either version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
015: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: * See the GNU Lesser General Public License for more details.
017: *
018: * You should have received a copy of the GNU Lesser General Public License along with this
019: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
020: * Boston, MA 02111-1307, USA.
021: *
022: * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
023: * in the United States and other countries.]
024: *
025: * ------------
026: * StringUtil.java
027: * ------------
028: * (C) Copyright 2001-2007, by Object Refinery Ltd, Pentaho Corporation and Contributors.
029: */package org.jfree.report.util;
030:
031: import org.jfree.util.StringUtils;
032:
033: /**
034: * String utility functions. Provides functions to parse floats, ints and boolean values.
035: *
036: * @author Thomas Morgner
037: */
038: public final class StringUtil {
039: /**
040: * Default Constructor.
041: */
042: private StringUtil() {
043: }
044:
045: /**
046: * Helper functions to query a strings start portion. The comparison is case
047: * insensitive.
048: *
049: * @param base the base string.
050: * @param start the starting text.
051: * @return true, if the string starts with the given starting text.
052: * @deprecated use JCommon's StringUtils instead.
053: */
054: public static boolean startsWithIgnoreCase(final String base,
055: final String start) {
056: return StringUtils.startsWithIgnoreCase(base, start);
057: }
058:
059: /**
060: * Helper functions to query a strings end portion. The comparison is case insensitive.
061: *
062: * @param base the base string.
063: * @param end the ending text.
064: * @return true, if the string ends with the given ending text.
065: * @deprecated use JCommon's StringUtils instead.
066: */
067: public static boolean endsWithIgnoreCase(final String base,
068: final String end) {
069: return StringUtils.endsWithIgnoreCase(base, end);
070: }
071:
072: /**
073: * Parses the given string and returns the parsed integer value or the given default if
074: * the parsing failed.
075: *
076: * @param value the to be parsed string
077: * @param defaultValue the default value
078: * @return the parsed string.
079: */
080: public static int parseInt(final String value,
081: final int defaultValue) {
082: if (value == null) {
083: return defaultValue;
084: }
085: try {
086: return Integer.parseInt(value);
087: } catch (Exception e) {
088: return defaultValue;
089: }
090: }
091:
092: /**
093: * Parses the given string and returns the parsed integer value or the given default if
094: * the parsing failed.
095: *
096: * @param value the to be parsed string
097: * @param defaultValue the default value
098: * @return the parsed string.
099: */
100: public static float parseFloat(final String value,
101: final float defaultValue) {
102: if (value == null) {
103: return defaultValue;
104: }
105: try {
106: return Float.parseFloat(value);
107: } catch (Exception e) {
108: return defaultValue;
109: }
110: }
111:
112: /**
113: * Parses the given string into a boolean value. This returns true, if the string's
114: * value is "true".
115: *
116: * @param attribute the string that should be parsed.
117: * @param defaultValue the default value, in case the string is null.
118: * @return the parsed value.
119: */
120: public static boolean parseBoolean(final String attribute,
121: final boolean defaultValue) {
122: if (attribute == null) {
123: return defaultValue;
124: }
125: if ("true".equals(attribute)) {
126: return true;
127: }
128: return false;
129: }
130:
131: }
|