/*
(non-Javadoc)

@see
qc.automation.framework.widget.IElement#waitForAttribute(java.lang.String
, java.lang.String, java.lang.Long)
764046
public void waitForAttribute(String attributeName, String pattern, long timeout) throws WidgetException {
		waitForAttributePatternMatcher(attributeName, pattern, timeout, true);
	}
1240092
public void validateAttribute(String attribute) throws CompatibilityException {
                try {
                        super.validateObject(attribute);
                } catch (CompatibilityException e) {
                        throw new CompatibilityException("Unknown attribute: " + attribute, e);
                }
        }
140207
public void waitForElementNotPresent(final long time) throws WidgetException {
		try {
			waitForCommand(new ITimerCallback() {

				@Override
				public boolean execute() throws WidgetException {
					return !isElementPresent();
				}

				@Override
				public String toString() {
					return "Waiting for element with locator " + locator + " to not be present";
				}
			}, time);
		} catch (Exception e) {
			throw new WidgetException("Error while waiting for element to be not present", locator, e);
		}
	}
1332366
@Override
	public void waitForNotAttribute(String attributeName, String pattern, long timeout) throws WidgetException {
		waitForAttributePatternMatcher(attributeName, pattern, timeout, false);
	}
629257
protected void prepareAttribute(StringBuffer handlers, String name, boolean value) {

		handlers.append(" ");
		handlers.append(name);
		handlers.append("=\"");
		handlers.append(value);
		handlers.append("\"");

	}
1283175
@Override
    public void setAttribute(String arg0, Object arg1) {
        try {
            collaborator.preInvoke(componentMetaData);
            request.setAttribute(arg0, arg1);
        } finally {
            collaborator.postInvoke();
        }

    }
192460
public void setAttribute(Attribute attribute) {
		if (!updateMode) {
			originalAttrs.put(attribute);
		}
		else {
			updatedAttrs.put(attribute);
		}
	}
1085844
public void setAttribute(String name, Object o) {
		if(logger.isDebugEnabled()) {
        	logger.debug("setAttribute - name=" + name + ", object=" + o);
        }
		if (name == null)
			throw new NullPointerException("Attribute name can not be null.");
		this.getAttributeMap().put(name, o);
	}
737222
public void setAttribute(String name, Object value) {
        if (attributes == null) {
            synchronized (this) {
                if (attributes == null) {
                    attributes = new ConcurrentHashMap<String, Object>(4);
                }
            }
        }
        this.attributes.put(name, value);
    }
1119193
@Override
    public Object getAttributeValue(String name) {
        final List<Object> values = this.getAttributeValues(name);
        if (values != null && values.size() > 0) {
            return values.get(0);
        }

        return null;
    }
641709
public final T setAttributeValueAsLong(String name, long value) {
    setAttribute(name, Long.toString(value));
    return (T)this;
  }
370876
public void setLongAttribute(String name, Long value) {
		Attribute attribute = getAttributes().get(name);
		if (!(attribute instanceof LongAttribute)) {
			throw new IllegalStateException("Cannot set boolean value on attribute with different type, " +
					attribute.getClass().getName() + " setting value " + value);
		}
		((LongAttribute) attribute).setValue(value);
	}
112194
public synchronized void addAttribute(final AttributeImpl attribute) throws DevFailed {
        // add attribute only if it doesn't exists
        AttributeImpl result = null;
        for (final AttributeImpl attr : attributeList) {
            if (attr.getName().equalsIgnoreCase(attribute.getName())) {
                result = attribute;
                break;
            }
        }
        if (result == null) {
            attributeList.add(attribute);
            // set default polling configuration
            if (attrPollRingDepth.containsKey(attribute.getName().toLowerCase(Locale.ENGLISH))) {
                attribute.setPollRingDepth(attrPollRingDepth.get(attribute.getName().toLowerCase(Locale.ENGLISH)));
            } else {
                attribute.setPollRingDepth(pollRingDepth);
            }
        }
    }
51592
@Override
	public <T> T getAttribute(String name, Class<T> clazz) {
		return null;
	}
601052
@Override
  public final void setAttribute(final String pAttrName,
    final Object pAttribute) {
    httpReq.setAttribute(pAttrName, pAttribute);
  }
857089
public void setAttribute(final String name, final Attribute attribute) {
        if (name.equals(MAP_KEY)) {
            this.mapAttribute = (MapAttribute) attribute;
        }
    }
897945
protected void returnAttributeValue(String name) {
        ownerMessage.addEvent(Type.CLIENT_UPDATE_DATA, name, getAttribute(name));
    }