wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractAttribute.java
public void addValueChangeListener(
            final AttributeValueChangeListener valueChangeListener) {
        if (valueChangeListeners == null) {
            synchronized (this) {
                if (valueChangeListeners == null) {
                    valueChangeListeners = new LinkedHashSet<>();
                }
            }
        }

        valueChangeListeners.add(valueChangeListener);
    }
public void addValueChangeListener(
            final AttributeValueChangeListener valueChangeListener) {
        if (valueChangeListeners == null) {
            synchronized (this) {
                if (valueChangeListeners == null) {
                    valueChangeListeners = new LinkedHashSet<>();
                }
            }
        }

        valueChangeListeners.add(valueChangeListener);
    }
adds value change lister which will be invoked when the value changed

@param valueChangeListener
@since 2.0.0
@author WFF