private void invokeValueChangeListeners(
            final Collection<AbstractHtml5SharedObject> sharedObjects) {

        for (final AbstractHtml5SharedObject sharedObject : sharedObjects) {
            final AttributeValueChangeListener valueChangeListener = sharedObject
                    .getValueChangeListener(ACCESS_OBJECT);
            if (valueChangeListener != null) {

                // ownerTags should not be modified in the consuming
                // part, here
                // skipped it making unmodifiable to gain
                // performance
                final AttributeValueChangeListener.Event event = new AttributeValueChangeListener.Event(
                        this, ownerTags);
                valueChangeListener.valueChanged(event);
            }
        }

        if (valueChangeListeners != null) {
            for (final AttributeValueChangeListener listener : valueChangeListeners) {
                final AttributeValueChangeListener.Event event = new AttributeValueChangeListener.Event(
                        this, Collections.unmodifiableSet(ownerTags));
                listener.valueChanged(event);
            }
        }

    }
private void invokeValueChangeListeners(
            final Collection<AbstractHtml5SharedObject> sharedObjects) {

        for (final AbstractHtml5SharedObject sharedObject : sharedObjects) {
            final AttributeValueChangeListener valueChangeListener = sharedObject
                    .getValueChangeListener(ACCESS_OBJECT);
            if (valueChangeListener != null) {

                
                
                
                
                final AttributeValueChangeListener.Event event = new AttributeValueChangeListener.Event(
                        this, ownerTags);
                valueChangeListener.valueChanged(event);
            }
        }

        if (valueChangeListeners != null) {
            for (final AttributeValueChangeListener listener : valueChangeListeners) {
                final AttributeValueChangeListener.Event event = new AttributeValueChangeListener.Event(
                        this, Collections.unmodifiableSet(ownerTags));
                listener.valueChanged(event);
            }
        }

    }
private void invokeValueChangeListeners ( final Collection < AbstractHtml5SharedObject > sharedObjects ) { for ( final AbstractHtml5SharedObject sharedObject : sharedObjects ) { final AttributeValueChangeListener valueChangeListener = sharedObject . getValueChangeListener ( ACCESS_OBJECT ) ; if ( valueChangeListener != null ) { // ownerTags should not be modified in the consuming // part, here // skipped it making unmodifiable to gain // performance final AttributeValueChangeListener . Event event = new AttributeValueChangeListener . Event ( this , ownerTags ) ; valueChangeListener . valueChanged ( event ) ; } } if ( valueChangeListeners != null ) { for ( final AttributeValueChangeListener listener : valueChangeListeners ) { final AttributeValueChangeListener . Event event = new AttributeValueChangeListener . Event ( this , Collections . unmodifiableSet ( ownerTags ) ) ; listener . valueChanged ( event ) ; } } }
this method should be called after changing of attribute value not before
changing value
this method should be called after changing of attribute value not before changing value