package com.revolsys.ui.html.serializer.key;
import com.revolsys.record.io.format.xml.XmlWriter;
import com.revolsys.ui.web.utils.HttpServletUtils;
import com.revolsys.util.HtmlAttr;
import com.revolsys.util.HtmlElem;
import com.revolsys.util.JavaBeanUtil;
public class BooleanImageKeySerializer extends AbstractKeySerializer {
public static boolean serialize(final XmlWriter out, final Object object, final String name) {
final Object value = JavaBeanUtil.getBooleanValue(object, name);
String text;
String imageName;
final boolean result = Boolean.TRUE.equals(value);
if (result) {
imageName = "tick";
text = "Yes";
} else {
imageName = "cross";
text = "No";
}
out.startTag(HtmlElem.IMG);
out.attribute(HtmlAttr.SRC, HttpServletUtils.getAbsoluteUrl("/images/" + imageName + ".png"));
out.attribute(HtmlAttr.ALT, text);
out.attribute(HtmlAttr.TITLE, text);
out.endTag(HtmlElem.IMG);
return result;
}
public BooleanImageKeySerializer() {
setProperty("searchable", false);
}
public BooleanImageKeySerializer(final String name) {
super(name);
setProperty("searchable", false);
}
public BooleanImageKeySerializer(final String name, final String label) {
super(name, label);
setProperty("searchable", false);
}
/**
* Serialize the value to the XML writer.
*
* @param out The XML writer to serialize to.
* @param object The object to get the value from.
*/
@Override
public void serialize(final XmlWriter out, final Object object) {
final String name = getName();
serialize(out, object, name);
}
}