class ColumnRule extends AbstractCssProperty<ColumnRule> implements StateChangeInformer<CssProperty> {

    public ColumnRule setColumnRuleStyle(
            final ColumnRuleStyle columnRuleStyle) {

        final StringBuilder cssValueBuilder = new StringBuilder();

        if (columnRuleWidth != null) {
            cssValueBuilder.append(columnRuleWidth.getCssValue()).append(' ');
        }

        if (columnRuleStyle != null) {
            cssValueBuilder.append(columnRuleStyle.getCssValue()).append(' ');
        }

        if (columnRuleColor != null) {
            cssValueBuilder.append(columnRuleColor.getCssValue());
        }

        final String trimmedCssValue = StringBuilderUtil
                .getTrimmedString(cssValueBuilder).toString();
        cssValue = trimmedCssValue.isEmpty() ? INHERIT : trimmedCssValue;

        this.columnRuleStyle = columnRuleStyle;

        if (getStateChangeInformer() != null) {
            getStateChangeInformer().stateChanged(this);
        }

        return this;
    }

    public  ColumnRule();
    public  ColumnRule(final String cssValue);
    public  ColumnRule(final ColumnRule columnRule);

}