/** * Resolves subpath in safer way. For some reason, if child starts with * a separator it gets resolved as a full path, ignoring the base. * This method acts different. */ public static Path resolve(Path base, String child) { if (StringUtil.startsWithChar(child, File.separatorChar)) { child = child.substring(1); } return base.resolve(child); }
@Override public String parseExpression(String expression) { if (StringUtil.startsWithChar(expression, '\'') || StringUtil.startsWithChar(expression, '"')) { expression = expression.substring(1, expression.length() - 1); } return expression; }
/** * Resolves subpath in safer way. For some reason, if child starts with * a separator it gets resolved as a full path, ignoring the base. * This method acts different. */ public static Path resolve(final Path base, String child) { if (StringUtil.startsWithChar(child, File.separatorChar)) { child = child.substring(1); } return base.resolve(child); }
@Override public List<List<CssSelector>> parseExpression(String expression) { if (StringUtil.startsWithChar(expression, '\'') || StringUtil.startsWithChar(expression, '"')) { expression = expression.substring(1, expression.length() - 1); } return CSSelly.parse(expression); }
@Override public List<List<CssSelector>> parseExpression(String expression) { if (StringUtil.startsWithChar(expression, '\'') || StringUtil.startsWithChar(expression, '"')) { expression = expression.substring(1, expression.length() - 1); } return CSSelly.parse(expression); }
/** * Removes starting and ending single or double quotes. */ public static String removeQuotes(String string) { if ( (startsWithChar(string, '\'') && endsWithChar(string, '\'')) || (startsWithChar(string, '"') && endsWithChar(string, '"')) ) { return substring(string, 1, -1); } return string; }
public Long convert(Object value) { if (value == null) { return null; } if (value.getClass() == Long.class) { return (Long) value; } if (value instanceof Number) { return Long.valueOf(((Number)value).longValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Long.valueOf(1L) : Long.valueOf(0L); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Long.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Double convert(Object value) { if (value == null) { return null; } if (value.getClass() == Double.class) { return (Double) value; } if (value instanceof Number) { return Double.valueOf(((Number)value).doubleValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Double.valueOf(1) : Double.valueOf(0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Double.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Float convert(Object value) { if (value == null) { return null; } if (value.getClass() == Float.class) { return (Float) value; } if (value instanceof Number) { return Float.valueOf(((Number)value).floatValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Float.valueOf(1) : Float.valueOf(0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Float.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Byte convert(Object value) { if (value == null) { return null; } if (value.getClass() == Byte.class) { return (Byte) value; } if (value instanceof Number) { return Byte.valueOf(((Number)value).byteValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Byte.valueOf((byte) 1) : Byte.valueOf((byte) 0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Byte.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Integer convert(Object value) { if (value == null) { return null; } if (value.getClass() == Integer.class) { return (Integer) value; } if (value instanceof Number) { return Integer.valueOf(((Number)value).intValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Integer.valueOf(1) : Integer.valueOf(0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Integer.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Short convert(Object value) { if (value == null) { return null; } if (value.getClass() == Short.class) { return (Short) value; } if (value instanceof Number) { return Short.valueOf(((Number)value).shortValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Short.valueOf((short) 1) : Short.valueOf((short) 0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Short.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
/** * Removes starting and ending single or double quotes. */ public static String removeQuotes(final String string) { if ( (startsWithChar(string, '\'') && endsWithChar(string, '\'')) || (startsWithChar(string, '"') && endsWithChar(string, '"')) || (startsWithChar(string, '`') && endsWithChar(string, '`')) ) { return substring(string, 1, -1); } return string; }
public Float convert(final Object value) { if (value == null) { return null; } if (value.getClass() == Float.class) { return (Float) value; } if (value instanceof Number) { return Float.valueOf(((Number)value).floatValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Float.valueOf(1) : Float.valueOf(0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Float.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Long convert(final Object value) { if (value == null) { return null; } if (value.getClass() == Long.class) { return (Long) value; } if (value instanceof Number) { return Long.valueOf(((Number)value).longValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Long.valueOf(1L) : Long.valueOf(0L); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Long.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
@Override public Short convert(final Object value) { if (value == null) { return null; } if (value.getClass() == Short.class) { return (Short) value; } if (value instanceof Number) { return Short.valueOf(((Number)value).shortValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Short.valueOf((short) 1) : Short.valueOf((short) 0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Short.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
@Override public Byte convert(final Object value) { if (value == null) { return null; } if (value.getClass() == Byte.class) { return (Byte) value; } if (value instanceof Number) { return Byte.valueOf(((Number)value).byteValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Byte.valueOf((byte) 1) : Byte.valueOf((byte) 0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Byte.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Double convert(final Object value) { if (value == null) { return null; } if (value.getClass() == Double.class) { return (Double) value; } if (value instanceof Number) { return Double.valueOf(((Number)value).doubleValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Double.valueOf(1) : Double.valueOf(0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Double.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
public Integer convert(final Object value) { if (value == null) { return null; } if (value.getClass() == Integer.class) { return (Integer) value; } if (value instanceof Number) { return Integer.valueOf(((Number)value).intValue()); } if (value instanceof Boolean) { return ((Boolean) value).booleanValue() ? Integer.valueOf(1) : Integer.valueOf(0); } try { String stringValue = value.toString().trim(); if (StringUtil.startsWithChar(stringValue, '+')) { stringValue = stringValue.substring(1); } return Integer.valueOf(stringValue); } catch (NumberFormatException nfex) { throw new TypeConversionException(value, nfex); } }
@Test void testStartWith() { assertTrue(StringUtil.startsWithChar("asd", 'a')); assertFalse(StringUtil.startsWithChar("asd", 's')); assertFalse(StringUtil.startsWithChar("", 'a')); assertTrue(StringUtil.endsWithChar("asd", 'd')); assertFalse(StringUtil.endsWithChar("asd", 's')); assertFalse(StringUtil.endsWithChar("", 'd')); assertEquals(3, StringUtil.startsWithOne("qwe123", "Qwe", null, ".", "qwe")); assertEquals(-1, StringUtil.startsWithOne("qwe123", "Qwe", null, ".", "we")); assertEquals(0, StringUtil.startsWithOneIgnoreCase("qwe123", "Qwe", null, ".", "qwe")); assertEquals(-1, StringUtil.startsWithOneIgnoreCase("qwe123", "we", null, ".", "we")); assertEquals(3, StringUtil.endsWithOne("qwezxc", "Zxc", null, ".", "zxc")); assertEquals(-1, StringUtil.endsWithOne("qwezxc", "Zxc", null, ".", "zx")); assertEquals(0, StringUtil.endsWithOneIgnoreCase("qweZXC", "Zxc", null, ".", "zxc")); assertEquals(-1, StringUtil.endsWithOneIgnoreCase("qweZXC", "zx", null, ".", "zx")); }