org.zkoss.zk.ui.impl.NativeHelpers Maven / Gradle / Ivy
/* NativeHelpers.java
Purpose:
Description:
History:
Thu Aug 23 17:33:59 2007, Created by tomyeh
Copyright (C) 2007 Potix Corporation. All Rights Reserved.
{{IS_RIGHT
This program is distributed under LGPL Version 2.1 in the hope that
it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zk.ui.impl;
import java.util.Collection;
import java.util.Map;
import org.zkoss.html.HTMLs;
import org.zkoss.idom.Namespace;
import org.zkoss.lang.Objects;
/**
* Utilities for implementing {@link org.zkoss.zk.ui.ext.Native.Helper}.
*
* @author tomyeh
* @since 3.0.0
*/
public class NativeHelpers {
/** Generates the attributes for the specified properties
* and namespaces.
*
* @param props a map of name and value pairs or null
* if no properties at all.
* Note: the value doesn't contain any EL expression.
* @param namespaces a list of {@link Namespace}
* to be generated, or null if not.
* Note: EL expressions is not allowed
*/
public static final void getAttributes(StringBuffer sb, Map props,
Collection namespaces) {
if (namespaces != null && !namespaces.isEmpty()) {
for (Namespace ns : namespaces) {
sb.append(" xmlns");
if (ns.getPrefix().length() > 0)
sb.append(':').append(ns.getPrefix());
sb.append("=\"").append(ns.getURI()).append('"');
}
}
if (props != null && !props.isEmpty()) {
for (Map.Entry me : props.entrySet()) {
HTMLs.appendAttribute(sb, me.getKey(), Objects.toString(me.getValue()), false);
}
}
}
}