check if value is not empty

@param tagName
@param attributeName
@param attribute
@throws ApplicationException
962662
public void required(String tagName, String actionName, String attributeName, Object attribute) throws ApplicationException {
	if (attribute == null)
	    throw new ApplicationException("Attribute [" + attributeName + "] for tag [" + tagName + "] is required if attribute action has the value [" + actionName + "]");

    }
484081
@Api
	public void setValue(String name, ShortAttribute attribute) {
		FormItem item = formWidget.getField(name);
		if (item != null) {
			item.setValue(attribute.getValue());
		}
	}
234680
@Override
    public boolean containsAttribute(final String name) {
        CommonHelper.assertNotNull("name", name);
        return this.attributes.containsKey(name);
    }
540477
@Api
	public void getValue(String name, DateAttribute attribute) {
		attribute.setValue((Date) formWidget.getValue(name));
	}
705912
public String getAttributeString(ObjectName name, String attributeName) throws Exception {
		Object bean = getAttribute(name, attributeName);
		if (bean == null) {
			return null;
		} else {
			return ClientUtils.valueToString(bean);
		}
	}
693488
public static boolean isHaveAttribute(AttributeSet attrs, String attribute) {
        return attrs.getAttributeValue(Ui.androidStyleNameSpace, attribute) != null;
    }
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;
    }
533697
protected void attributeImpl(String name, String value) {
        if (! (this.xmlNode instanceof Element)) {
            throw new RuntimeException(
                "Cannot add an attribute to non-Element underlying node: "
                + this.xmlNode);
        }
        ((Element) xmlNode).setAttribute(name, value);
    }
848475
public void setAttribute(String attributeName, Object value) {
        synchronized (_iSession) {
            if (!_iSession.isValid())
                throw new IllegalStateException();
            if (null != value) {
                if (!(value instanceof HttpSessionBindingListener)) {
                    _iSession.setAttribute(attributeName, value, Boolean.FALSE);
                } else {
                    _iSession.setAttribute(attributeName, value, Boolean.TRUE);
                }
            }
        }
    }
279228
function (tagName, tagAttributes) {
    if (this._done) {
      return;
    }

    this._openElementStack.push(tagName);

    try {
      this._errorIfUnexpectedTag(tagName);

      for (var attributeName in tagAttributes) {
        var attributeValue = tagAttributes[attributeName];

        this._errorIfUnexpectedAttribute(tagName, attributeName);
        this._errorIfUnexpectedAttributeValue(tagName, attributeName, attributeValue);
      }
    } catch (err) {
      this._finish(err);
    }
  }
1200157
@Override
	public String getAttributeValue(String namespace, String name) {
		for (int i = (attributeCount * 4) - 4; i >= 0; i -= 4) {
			if (attributes[i + 2].equals(name) && (namespace == null || attributes[i].equals(namespace))) {
				return attributes[i + 3];
			}
		}

		return null;
	}
330177
public void openTagSameLine(final QName tag,
                              final String attrName,
                              final String attrVal) throws IOException {
    lb();
    emitQName(tag);
    attribute(attrName, attrVal);
    endOpeningTag();
  }
237208
public SingleNodeAssert doesNotHaveAttribute(String attributeName) {
        isNotNull();

        final Map.Entry<QName, String> entry = attributeForName(attributeName);
        if (entry != null) {
            throwAssertionError(shouldNotHaveAttribute(actual.getNodeName(), attributeName));
        }
        return this;
    }
613290
protected void checkAttribute(String attribute) {
        if (!hasAttribute(attribute)) {
            String sb = "Attribute: '" + attribute + "' is not defined in model: '" + getModelClass() + ". "
                    + "Available attributes: " +getAttributeNames();
            throw new IllegalArgumentException(sb);
        }
    }
236193
private void doGetAll() throws PageException {
	if (name == null) throw new ApplicationException("attribute name is required for tag registry, when action is [getAll]");

	try {
	    RegistryEntry[] entries = RegistryQuery.getValues(branch, type);
	    if (entries != null) {
		lucee.runtime.type.Query qry = new QueryImpl(new String[] { "entry", "type", "value" }, new String[] { "VARCHAR", "VARCHAR", "OTHER" }, entries.length, "query");
		for (int i = 0; i < entries.length; i++) {
		    RegistryEntry e = entries[i];
		    int row = i + 1;
		    qry.setAt(KeyConstants._entry, row, e.getKey());
		    qry.setAt(KeyConstants._type, row, RegistryEntry.toCFStringType(e.getType()));
		    qry.setAt(KeyConstants._value, row, e.getValue());
		}

		// sort
		if (sort != null) {
		    String[] arr = sort.toLowerCase().split(",");
		    for (int i = arr.length - 1; i >= 0; i--) {
			String[] col = arr[i].trim().split("\\s+");
			if (col.length == 1) qry.sort(KeyImpl.init(col[0].trim()));
			else if (col.length == 2) {
			    String order = col[1].toLowerCase().trim();
			    if (order.equals("asc")) qry.sort(KeyImpl.init(col[0]), lucee.runtime.type.Query.ORDER_ASC);
			    else if (order.equals("desc")) qry.sort(KeyImpl.init(col[0]), lucee.runtime.type.Query.ORDER_DESC);
			    else throw new ApplicationException("invalid order type [" + col[1] + "]");
			}
		    }
		}

		pageContext.setVariable(name, qry);
	    }
	}
	catch (Exception e) {
	    throw Caster.toPageException(e);
	}

    }
1230725
public void setCc(Object cc) throws ApplicationException {
	if (StringUtil.isEmpty(cc)) return;
	try {
	    smtp.addCC(cc);
	}
	catch (Exception e) {
	    throw new ApplicationException("attribute [cc] of the tag [mail] is invalid", e.getMessage());
	}
    }
725543
public void addAttribute(String attributeName, String attributeValue) throws XmlModelException {
        String name = attributeName.trim();
        String value = attributeValue.trim();
        if(attributesMap.containsKey(name)) {
            throw new XmlModelException("Duplicate attribute: " + name);
        }
        attributeNames.add(name);
        attributesMap.put(name, new Attribute(name, value));
    }