Coverage Report - net.fckeditor.tool.Utils
 
Classes in this File Line Coverage Branch Coverage Complexity
Utils
91%
21/23
91%
20/22
0
 
 1  
 /*
 2  
  * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 3  
  * Copyright (C) 2003-2008 Frederico Caldeira Knabben
 4  
  * 
 5  
  * == BEGIN LICENSE ==
 6  
  * 
 7  
  * Licensed under the terms of any of the following licenses at your
 8  
  * choice:
 9  
  * 
 10  
  *  - GNU General Public License Version 2 or later (the "GPL")
 11  
  *    http://www.gnu.org/licenses/gpl.html
 12  
  * 
 13  
  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 14  
  *    http://www.gnu.org/licenses/lgpl.html
 15  
  * 
 16  
  *  - Mozilla Public License Version 1.1 or later (the "MPL")
 17  
  *    http://www.mozilla.org/MPL/MPL-1.1.html
 18  
  * 
 19  
  * == END LICENSE ==
 20  
  */
 21  
 package net.fckeditor.tool;
 22  
 
 23  
 import java.util.HashSet;
 24  
 import java.util.Set;
 25  
 import java.util.StringTokenizer;
 26  
 
 27  
 /**
 28  
  * Some static helper methods.
 29  
  * 
 30  
  * @version $Id: Utils.java 2538 2008-10-10 18:27:19Z mosipov $
 31  
  */
 32  0
 public class Utils {
 33  
 
 34  
         /**
 35  
          * Constructs a set of uppercased strings from a delimiter-separated string.
 36  
          * 
 37  
          * @param stringList
 38  
          * @param delimiter
 39  
          *            The delimiter.
 40  
          * @return An emtpy list if 'stringList' is empty else a lowercased set of
 41  
          *         strings.
 42  
          * @throws IllegalArgumentException
 43  
          *             if 'delimiter' is empty.
 44  
          */
 45  
         public static Set<String> getSet(final String stringList,
 46  
                         final String delimiter) {
 47  15
                 if (isEmpty(delimiter))
 48  0
                         throw new IllegalArgumentException(
 49  
                                         "Argument 'delimiter' shouldn't be empty!");
 50  15
                 if (isEmpty(stringList))
 51  6
                         return new HashSet<String>();
 52  
 
 53  9
                 Set<String> set = new HashSet<String>();
 54  9
                 StringTokenizer st = new StringTokenizer(stringList, delimiter);
 55  106
                 while (st.hasMoreTokens()) {
 56  97
                         String tmp = st.nextToken();
 57  97
                         if (isNotEmpty(tmp)) // simple empty filter
 58  97
                                 set.add(tmp.toLowerCase());
 59  97
                 }
 60  9
                 return set;
 61  
         }
 62  
 
 63  
         /**
 64  
          * Just a wrapper to {@link #getSet(String, String)} for using '&#124;' as
 65  
          * delimiter.
 66  
          */
 67  
         public static Set<String> getSet(final String stringList) {
 68  14
                 return getSet(stringList, "|");
 69  
         }
 70  
 
 71  
         /**
 72  
          * Checks if a string is <code>null</code> or empty.
 73  
          * 
 74  
          * @param str
 75  
          *            to check
 76  
          * @return <code>true</code> if the string is <code>null</code> or
 77  
          *         empty.
 78  
          */
 79  
         public static boolean isEmpty(final String str) {
 80  215
                 return str == null || str.length() == 0;
 81  
         }
 82  
 
 83  
         /**
 84  
          * Just a wrapper to {@link #isEmpty(String)}.
 85  
          * 
 86  
          * @param str
 87  
          *            to ckeck
 88  
          * @return <code>true</code> if the String is not empty or not
 89  
          *         <code>null</code>.
 90  
          */
 91  
         public static boolean isNotEmpty(final String str) {
 92  102
                 return !isEmpty(str);
 93  
         }
 94  
 
 95  
         /**
 96  
          * Checks if a String is whitespace, empty or null.
 97  
          * 
 98  
          * @param str
 99  
          *            to check
 100  
          * @return <code>true</code> if the string is <code>null</code>, empty
 101  
          *         or contains whitespace only.
 102  
          */
 103  
         public static boolean isBlank(final String str) {
 104  
 
 105  12
                 if (isEmpty(str))
 106  4
                         return true;
 107  
 
 108  34
                 for (char c : str.toCharArray()) {
 109  30
                         if (!Character.isWhitespace(c))
 110  4
                                 return false;
 111  
                 }
 112  
 
 113  4
                 return true;
 114  
         }
 115  
 
 116  
         /**
 117  
          * Just a wrapper to {@link #isBlank(String)}.
 118  
          * 
 119  
          * @param str
 120  
          *            to check
 121  
          * @return <code>true</code> if the string is not <code>null</code>,
 122  
          *         not empty or does not contain whitespace only.
 123  
          */
 124  
         public static boolean isNotBlank(final String str) {
 125  6
                 return !isBlank(str);
 126  
         }
 127  
 }