org.zkoss.bind.impl.BinderPropertiesRenderer Maven / Gradle / Ivy
/** BinderPropertiesRenderer.java.
Purpose:
Description:
History:
11:27:39 AM Jan 7, 2015, Created by jumperchen
Copyright (C) 2015 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.bind.impl;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.Map;
import org.zkoss.bind.Binder;
import org.zkoss.bind.sys.BinderCtrl;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.sys.ContentRenderer;
import org.zkoss.zk.ui.sys.PropertiesRenderer;
/**
* A BinderPropertiesRenderer is used to add extra properties for client widget.
* @author jumperchen
* @since 8.0.0
*/
public class BinderPropertiesRenderer implements PropertiesRenderer {
/* (non-Javadoc)
* @see org.zkoss.zk.ui.sys.PropertiesRenderer#renderProperties(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.sys.ContentRenderer)
*/
public void renderProperties(Component comp, ContentRenderer render) throws IOException {
Binder binder = BinderUtil.getBinder(comp);
if (binder != null && binder.getView() == comp) {
render.render("$ZKBINDER$", true);
//ZK-3133
Map mmv = ((BinderCtrl) binder).getMatchMediaValue();
if (!mmv.isEmpty()) {
render.render("$ZKMATCHMEDIA$", mmv.keySet().toArray());
}
}
}
}