BorderColorCssValues extends AbstractBean<BorderColorCssValues> implements StateChangeInformer<Bean> { public BorderColorCssValues setValue(final String cssValue) { final String previousCssValue = this.cssValue; try { if (cssValue == null) { throw new NullValueException( "null is an invalid value. The value should be any color for example #0000ff, rgb(15, 25, 155), rgba(15, 25, 155, 0.5) Or, initial/inherit/transparent."); } else if (!isValid(cssValue)) { throw new InvalidValueException(cssValue + " is an invalid value. The value should be any color for example #0000ff, rgb(15, 25, 155), rgba(15, 25, 155, 0.5) Or, initial/inherit/transparent."); } else { this.cssValue = StringUtil.strip(cssValue); if (RgbCssValue.isValid(cssValue)) { if (rgbCssValue == null) { rgbCssValue = new RgbCssValue(cssValue); } else { rgbCssValue.setRgb(this.cssValue); } rgbCssValue.setStateChangeInformer(this); } else { makeRgbCssValueNull(); } if (RgbaCssValue.isValid(cssValue)) { if (rgbaCssValue == null) { rgbaCssValue = new RgbaCssValue(cssValue); } else { rgbaCssValue.setRgba(this.cssValue); } rgbaCssValue.setStateChangeInformer(this); } else { makeRgbaCssValueNull(); } if (HslCssValue.isValid(cssValue)) { if (hslCssValue == null) { hslCssValue = new HslCssValue(cssValue); } else { hslCssValue.setHsl(this.cssValue); } hslCssValue.setStateChangeInformer(this); } else { makeHslCssValueNull(); } if (HslaCssValue.isValid(cssValue)) { if (hslaCssValue == null) { hslaCssValue = new HslaCssValue(cssValue); } else { hslaCssValue.setHsla(this.cssValue); } hslaCssValue.setStateChangeInformer(this); } else { makeHslaCssValueNull(); } if (getStateChangeInformer() != null) { getStateChangeInformer().stateChanged(this); } } } catch (final InvalidValueException e) { this.cssValue = previousCssValue; throw e; } return this; } 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 testSetValue() { RgbaCssValue rgbaCssValue = new RgbaCssValue(); rgbaCssValue.setR(55); rgbaCssValue.setG(155); rgbaCssValue.setB(75); rgbaCssValue.setA(0.5F); BorderColorCssValues borderColorCssValues = new BorderColorCssValues(); assertEquals("black", borderColorCssValues.getValue()); borderColorCssValues.setRgbaCssValue(rgbaCssValue); assertEquals("rgba(55, 155, 75, 0.5)", borderColorCssValues.getValue()); rgbaCssValue.setR(0); rgbaCssValue.setG(25); rgbaCssValue.setB(255); rgbaCssValue.setA(1F); assertEquals("rgba(0, 25, 255, 1.0)", borderColorCssValues.getValue()); }