wffweb/src/main/java/com/webfirmframework/wffweb/tag/html/attribute/core/AbstractAttribute.java
protected boolean addToAttributeValueMap(final String key,
            final String value) {

        final Collection<AbstractHtml5SharedObject> sharedObjects = getSharedObjects();
        boolean listenerInvoked = false;
        final Collection<WriteLock> writeLocks = lockAndGetWriteLocks();
        try {
            final Map<String, String> attributeValueMap = getAttributeValueMap();

            final String previousValue = attributeValueMap.put(key, value);

            if (!Objects.equals(previousValue, value)) {
                setModified(true);
                invokeValueChangeListeners(sharedObjects);
                listenerInvoked = true;
            }

        } finally {
            for (final Lock lock : writeLocks) {
                lock.unlock();
            }
        }

        pushQueues(sharedObjects, listenerInvoked);

        return listenerInvoked;
    }
protected boolean addToAttributeValueMap(final String key,
            final String value) {

        final Collection<AbstractHtml5SharedObject> sharedObjects = getSharedObjects();
        boolean listenerInvoked = false;
        final Collection<WriteLock> writeLocks = lockAndGetWriteLocks();
        try {
            final Map<String, String> attributeValueMap = getAttributeValueMap();

            final String previousValue = attributeValueMap.put(key, value);

            if (!Objects.equals(previousValue, value)) {
                setModified(true);
                invokeValueChangeListeners(sharedObjects);
                listenerInvoked = true;
            }

        } finally {
            for (final Lock lock : writeLocks) {
                lock.unlock();
            }
        }

        pushQueues(sharedObjects, listenerInvoked);

        return listenerInvoked;
    }
protected boolean addToAttributeValueMap ( final String key , final String value ) { final Collection < AbstractHtml5SharedObject > sharedObjects = getSharedObjects ( ) ; boolean listenerInvoked = false ; final Collection < WriteLock > writeLocks = lockAndGetWriteLocks ( ) ; try { final Map < String , String > attributeValueMap = getAttributeValueMap ( ) ; final String previousValue = attributeValueMap . put ( key , value ) ; if ( ! Objects . equals ( previousValue , value ) ) { setModified ( true ) ; invokeValueChangeListeners ( sharedObjects ) ; listenerInvoked = true ; } } finally { for ( final Lock lock : writeLocks ) { lock . unlock ( ) ; } } pushQueues ( sharedObjects , listenerInvoked ) ; return listenerInvoked ; }
adds the given key value.

@param key
@param value
@return true if it is modified
@since 1.0.0
@author WFF
adds the given key value .