BorderColorCssValues extends AbstractBean<BorderColorCssValues> implements StateChangeInformer<Bean> { public static boolean isValid(final String cssValue) { if (cssValue == null) { return false; } final String trimmedCssValue = StringUtil.strip(cssValue); if (trimmedCssValue.isEmpty()) { return false; } final String trimmedCssValueLowerCase = TagStringUtil .toLowerCase(trimmedCssValue); if (TRANSPARENT.equals(trimmedCssValueLowerCase)) { return true; } if (CssColorName.isValid(trimmedCssValue)) { return true; } if (RgbCssValue.isValid(trimmedCssValue)) { return true; } if (RgbaCssValue.isValid(trimmedCssValue)) { return true; } if (HslCssValue.isValid(trimmedCssValue)) { return true; } if (HslaCssValue.isValid(trimmedCssValue)) { return true; } try { if (trimmedCssValue.length() == 0 || trimmedCssValue.charAt(0) != '#') { return false; } final long value = Long.parseLong(trimmedCssValue.substring(1), 16); final long maxCssValue = 16777215L; return !(value > maxCssValue || value < 0); } catch (final NumberFormatException ex) { } return false; } BorderColorCssValues();  BorderColorCssValues(final String cssValue);  BorderColorCssValues(
            final BorderColorCssValues borderColorCssValue);  BorderColorCssValues(final RgbCssValue rgbCssValue);  BorderColorCssValues(final RgbaCssValue rgbaCssValue);  BorderColorCssValues(final HslCssValue hslCssValue);  BorderColorCssValues(final HslaCssValue hslaCssValue); void setRgbaCssValue(final RgbaCssValue rgbaCssValue); void setHslaCssValue(final HslaCssValue hslaCssValue); @Override String toString(); @Override String getValue(); BorderColorCssValues setValue(final String cssValue); void setAsTransparent(); static boolean isValid(final String cssValue); @Override void stateChanged(final Bean stateChangedObject); RgbCssValue getRgbCssValue(); RgbaCssValue getRgbaCssValue(); HslCssValue getHslCssValue(); HslaCssValue getHslaCssValue(); void setRgbCssValue(final RgbCssValue rgbCssValue); void setHslCssValue(final HslCssValue hslCssValue); static final String TRANSPARENT; }
@Test public void testIsValid() { assertTrue(BorderColorCssValues.isValid("rgba(0, 25, 255, 1.0)")); assertTrue(BorderColorCssValues.isValid("rgb(55, 155, 75)")); assertTrue(BorderColorCssValues.isValid(BorderColorCssValues.TRANSPARENT)); assertTrue(BorderColorCssValues.isValid(CssColorName.AQUA.getColorName())); assertFalse(BorderColorCssValues.isValid("rgba(a0, 25, 255, 1.0)")); assertFalse(BorderColorCssValues.isValid("rgba(55, 155, 75)")); assertFalse(BorderColorCssValues.isValid("dfd")); assertFalse(BorderColorCssValues.isValid("inherit")); }