001package co.codewizards.cloudstore.core.util; 002 003import java.util.ArrayList; 004import java.util.Collections; 005import java.util.List; 006 007public final class StringUtil { 008 009 private StringUtil() { } 010 011 public static final List<Integer> getIndexesOf(final String string, final char c) { 012 ArrayList<Integer> indexes = new ArrayList<Integer>(); 013 for (int index = 0; index < string.length(); ++index) { 014 if (string.charAt(index) == c) 015 indexes.add(index); 016 } 017 indexes.trimToSize(); 018 return Collections.unmodifiableList(indexes); 019 } 020 021 public static final boolean isEmpty(final String string) { 022 return string == null || string.isEmpty(); 023 } 024 025 public static final String nullToEmpty(final String string) { 026 return string == null ? "" : string; 027 } 028 029 public static final String emptyToNull(final String string) { 030 return isEmpty(string) ? null : string; 031 } 032 033 public static final String trim(final String string) { 034 return string == null ? null : string.trim(); 035 } 036 037 public static final String trimLeft(final String string) { 038 final int len = string.length(); 039 int st = 0; 040 041 while ((st < len) && (string.charAt(st) <= ' ')) 042 st++; 043 044 return st > 0 ? string.substring(st) : string; 045 } 046 047 public static final String trimRight(final String string) { 048 final int length = string.length(); 049 int len = length; 050 051 while ((0 < len) && (string.charAt(len - 1) <= ' ')) 052 len--; 053 054 return len < length ? string.substring(0, len) : string; 055 } 056}