/** * <p>Checks that the CharSequence does not contain certain characters.</p> * * <p>A {@code null} CharSequence will return {@code true}. * A {@code null} invalid character array will return {@code true}. * An empty String ("") always returns true.</p> * * <pre> * StringUtils.containsNone(null, *) = true * StringUtils.containsNone(*, null) = true * StringUtils.containsNone("", *) = true * StringUtils.containsNone("ab", "") = true * StringUtils.containsNone("abab", "xyz") = true * StringUtils.containsNone("ab1", "xyz") = true * StringUtils.containsNone("abz", "xyz") = false * </pre> * * @param cs the CharSequence to check, may be null * @param invalidChars a String of invalid chars, may be null * @return true if it contains none of the invalid chars, or is null * @since 2.0 * @since 3.0 Changed signature from containsNone(String, String) to containsNone(CharSequence, String) */ public static boolean containsNone(final CharSequence cs, final String invalidChars) { if (cs == null || invalidChars == null) { return true; } return containsNone(cs, invalidChars.toCharArray()); }
@Override public int translate(final CharSequence input, final int index, final Writer out) throws IOException { if(index != 0) { throw new IllegalStateException("CsvEscaper should never reach the [1] index"); } if (StringUtils.containsNone(input.toString(), CSV_SEARCH_CHARS)) { out.write(input.toString()); } else { out.write(CSV_QUOTE); out.write(StringUtils.replace(input.toString(), CSV_QUOTE_STR, CSV_QUOTE_STR + CSV_QUOTE_STR)); out.write(CSV_QUOTE); } return Character.codePointCount(input, 0, input.length()); } }
/** * See http://www.oracle.com/technetwork/articles/javase/supplementary-142654.html */ @Test public void testContainsNone_CharArrayWithSupplementaryChars() { assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20000.toCharArray())); assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20001.toCharArray())); assertFalse(StringUtils.containsNone(CharU20000, CharU20000.toCharArray())); // Sanity check: assertEquals(-1, CharU20000.indexOf(CharU20001)); assertEquals(0, CharU20000.indexOf(CharU20001.charAt(0))); assertEquals(-1, CharU20000.indexOf(CharU20001.charAt(1))); // Test: assertTrue(StringUtils.containsNone(CharU20000, CharU20001.toCharArray())); assertTrue(StringUtils.containsNone(CharU20001, CharU20000.toCharArray())); }
@Test public void testContainsNone_CharArray() { final String str1 = "a"; final String str2 = "b"; final String str3 = "ab."; final char[] chars1= {'b'}; final char[] chars2= {'.'}; final char[] chars3= {'c', 'd'}; final char[] emptyChars = new char[0]; assertTrue(StringUtils.containsNone(null, (char[]) null)); assertTrue(StringUtils.containsNone("", (char[]) null)); assertTrue(StringUtils.containsNone(null, emptyChars)); assertTrue(StringUtils.containsNone(str1, emptyChars)); assertTrue(StringUtils.containsNone("", emptyChars)); assertTrue(StringUtils.containsNone("", chars1)); assertTrue(StringUtils.containsNone(str1, chars1)); assertTrue(StringUtils.containsNone(str1, chars2)); assertTrue(StringUtils.containsNone(str1, chars3)); assertFalse(StringUtils.containsNone(str2, chars1)); assertTrue(StringUtils.containsNone(str2, chars2)); assertTrue(StringUtils.containsNone(str2, chars3)); assertFalse(StringUtils.containsNone(str3, chars1)); assertFalse(StringUtils.containsNone(str3, chars2)); assertTrue(StringUtils.containsNone(str3, chars3)); }
/** * See http://www.oracle.com/technetwork/articles/javase/supplementary-142654.html */ @Test public void testContainsNone_CharArrayWithBadSupplementaryChars() { // Test edge case: 1/2 of a (broken) supplementary char assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001.toCharArray())); assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001)); assertTrue(StringUtils.containsNone(CharUSuppCharLow, CharU20001.toCharArray())); assertEquals(-1, CharU20001.indexOf(CharUSuppCharHigh)); assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharHigh.toCharArray())); assertEquals(0, CharU20001.indexOf(CharUSuppCharLow)); assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharLow.toCharArray())); }
@Test public void testContainsNone_String() { final String str1 = "a"; final String str2 = "b"; final String str3 = "ab."; final String chars1= "b"; final String chars2= "."; final String chars3= "cd"; assertTrue(StringUtils.containsNone(null, (String) null)); assertTrue(StringUtils.containsNone("", (String) null)); assertTrue(StringUtils.containsNone(null, "")); assertTrue(StringUtils.containsNone(str1, "")); assertTrue(StringUtils.containsNone("", "")); assertTrue(StringUtils.containsNone("", chars1)); assertTrue(StringUtils.containsNone(str1, chars1)); assertTrue(StringUtils.containsNone(str1, chars2)); assertTrue(StringUtils.containsNone(str1, chars3)); assertFalse(StringUtils.containsNone(str2, chars1)); assertTrue(StringUtils.containsNone(str2, chars2)); assertTrue(StringUtils.containsNone(str2, chars3)); assertFalse(StringUtils.containsNone(str3, chars1)); assertFalse(StringUtils.containsNone(str3, chars2)); assertTrue(StringUtils.containsNone(str3, chars3)); }
/** * See http://www.oracle.com/technetwork/articles/javase/supplementary-142654.html */ @Test public void testContainsNone_StringWithSupplementaryChars() { assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20000)); assertFalse(StringUtils.containsNone(CharU20000 + CharU20001, CharU20001)); assertFalse(StringUtils.containsNone(CharU20000, CharU20000)); // Sanity check: assertEquals(-1, CharU20000.indexOf(CharU20001)); assertEquals(0, CharU20000.indexOf(CharU20001.charAt(0))); assertEquals(-1, CharU20000.indexOf(CharU20001.charAt(1))); // Test: assertTrue(StringUtils.containsNone(CharU20000, CharU20001)); assertTrue(StringUtils.containsNone(CharU20001, CharU20000)); }
/** * See http://www.oracle.com/technetwork/articles/javase/supplementary-142654.html */ @Test public void testContainsNone_StringWithBadSupplementaryChars() { // Test edge case: 1/2 of a (broken) supplementary char assertTrue(StringUtils.containsNone(CharUSuppCharHigh, CharU20001)); assertEquals(-1, CharUSuppCharLow.indexOf(CharU20001)); assertTrue(StringUtils.containsNone(CharUSuppCharLow, CharU20001)); assertEquals(-1, CharU20001.indexOf(CharUSuppCharHigh)); assertTrue(StringUtils.containsNone(CharU20001, CharUSuppCharHigh)); assertEquals(0, CharU20001.indexOf(CharUSuppCharLow)); assertFalse(StringUtils.containsNone(CharU20001, CharUSuppCharLow)); }
public static boolean none(CharSequence cs, char... searchChars) { return StringUtils.containsNone(cs, searchChars); }
public static boolean none(CharSequence cs, String invalidChars) { return StringUtils.containsNone(cs, invalidChars); }
/** * <p>Checks that the CharSequence does not contain certain characters.</p> * * <p>A {@code null} CharSequence will return {@code true}. * A {@code null} invalid character array will return {@code true}. * An empty String ("") always returns true.</p> * * <pre> * StringUtils.containsNone(null, *) = true * StringUtils.containsNone(*, null) = true * StringUtils.containsNone("", *) = true * StringUtils.containsNone("ab", "") = true * StringUtils.containsNone("abab", "xyz") = true * StringUtils.containsNone("ab1", "xyz") = true * StringUtils.containsNone("abz", "xyz") = false * </pre> * * @param cs the CharSequence to check, may be null * @param invalidChars a String of invalid chars, may be null * @return true if it contains none of the invalid chars, or is null * @since 2.0 * @since 3.0 Changed signature from containsNone(String, String) to containsNone(CharSequence, String) */ public static boolean containsNone(final CharSequence cs, final String invalidChars) { if (cs == null || invalidChars == null) { return true; } return containsNone(cs, invalidChars.toCharArray()); }
private static String escape(String s) { if (StringUtils.containsNone(s, CSV_SEARCH_CHARS)) { return s; } StringBuilder sb = new StringBuilder(CSV_QUOTE_STR); sb.append(StringUtils.replace(s, CSV_QUOTE_STR, CSV_QUOTE_STR + CSV_QUOTE_STR)); return sb.append(CSV_QUOTE_STR).toString(); //return StringEscapeUtils.escapeCsv(s); } }
private static String escape(String s) { if (StringUtils.containsNone(s, CSV_SEARCH_CHARS)) { return s; } StringBuilder sb = new StringBuilder(CSV_QUOTE_STR); sb.append(StringUtils.replace(s, CSV_QUOTE_STR, CSV_QUOTE_STR + CSV_QUOTE_STR)); return sb.append(CSV_QUOTE_STR).toString(); //return StringEscapeUtils.escapeCsv(s); } }
/** * <p>Checks that the CharSequence does not contain certain characters.</p> * * <p>A {@code null} CharSequence will return {@code true}. * A {@code null} invalid character array will return {@code true}. * An empty String ("") always returns true.</p> * * <pre> * StringUtils.containsNone(null, *) = true * StringUtils.containsNone(*, null) = true * StringUtils.containsNone("", *) = true * StringUtils.containsNone("ab", "") = true * StringUtils.containsNone("abab", "xyz") = true * StringUtils.containsNone("ab1", "xyz") = true * StringUtils.containsNone("abz", "xyz") = false * </pre> * * @param cs the CharSequence to check, may be null * @param invalidChars a String of invalid chars, may be null * @return true if it contains none of the invalid chars, or is null * @since 2.0 * @since 3.0 Changed signature from containsNone(String, String) to containsNone(CharSequence, String) */ public static boolean containsNone(final CharSequence cs, final String invalidChars) { if (cs == null || invalidChars == null) { return true; } return containsNone(cs, invalidChars.toCharArray()); }
/** * Escaping for csv format. * <ul> * <li>Quotes inside quoted strings are escaped with a /</li> * <li>Fields containings newlines or , are surrounded by "</li> * </ul> * Note this is the standard CVS format and it's not handled well by excel. * @see org.displaytag.export.BaseExportView#escapeColumnValue(java.lang.Object) */ @Override protected String escapeColumnValue(Object value) { String stringValue = StringUtils.trim(value.toString()); if (!StringUtils.containsNone(stringValue, '\r', '\n', ',')) { return "\"" + //$NON-NLS-1$ StringUtils.replace(stringValue, "\"", "\\\"") + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } return stringValue; }
@Override public int translate(final CharSequence input, final int index, final Writer out) throws IOException { if(index != 0) { throw new IllegalStateException("CsvEscaper should never reach the [1] index"); } if (StringUtils.containsNone(input.toString(), CSV_SEARCH_CHARS)) { out.write(input.toString()); } else { out.write(CSV_QUOTE); out.write(StringUtils.replace(input.toString(), CSV_QUOTE_STR, CSV_QUOTE_STR + CSV_QUOTE_STR)); out.write(CSV_QUOTE); } return Character.codePointCount(input, 0, input.length()); } }
@Override public int translate(final CharSequence input, final int index, final Writer out) throws IOException { if(index != 0) { throw new IllegalStateException("CsvEscaper should never reach the [1] index"); } if (StringUtils.containsNone(input.toString(), CSV_SEARCH_CHARS)) { out.write(input.toString()); } else { out.write(CSV_QUOTE); out.write(StringUtils.replace(input.toString(), CSV_QUOTE_STR, CSV_QUOTE_STR + CSV_QUOTE_STR)); out.write(CSV_QUOTE); } return Character.codePointCount(input, 0, input.length()); } }
@Override public int translate(final CharSequence input, final int index, final Writer out) throws IOException { if(index != 0) { throw new IllegalStateException("CsvEscaper should never reach the [1] index"); } if (StringUtils.containsNone(input.toString(), CSV_SEARCH_CHARS)) { out.write(input.toString()); } else { out.write(CSV_QUOTE); out.write(StringUtils.replace(input.toString(), CSV_QUOTE_STR, CSV_QUOTE_STR + CSV_QUOTE_STR)); out.write(CSV_QUOTE); } return Character.codePointCount(input, 0, input.length()); } }
public static boolean containsNone(ActionContext actionContext){ Thing self = actionContext.getObject("self"); CharSequence cs1 = (CharSequence) self.doAction("getCs", actionContext); String invalidChars = (String) self.doAction("getInvalidChars", actionContext); return StringUtils.containsNone(cs1, invalidChars); }
/** * Tests an object's properties according the current filter. * * @param object the object to test * @param enumType the possible properties * @param <V> the enum's type * @return true or false depending on the test result. For details see this class' documentation * {@link PaginationFilter}. */ public final <V extends Enum<V> & PaginationFilterProperty> boolean test(T object, Class<V> enumType) { if (StringUtils.isBlank(filter)) { return true; } else if (filter.contains(SEPARATOR)) { if (StringUtils.containsNone(StringUtils.substringBefore(filter, SEPARATOR), DELIMITER)) { return testFields(object, enumType); } return testFields(object, enumType) && testFulltext(object, enumType); } return testFulltext(object, enumType); }