org.zkoss.bind.sys.TemplateResolver Maven / Gradle / Ivy
/* TemplateResolver.java
Purpose:
Description:
History:
2012/1/4 Created by Dennis Chen
Copyright (C) 2011 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.bind.sys;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.Template;
/**
* Resolver for Template
* @author dennis
* @since 6.0.0
*/
public interface TemplateResolver {
public static final String EACH_ATTR = "var";
public static final String EACH_VAR = "each";
public static final String STATUS_ATTR = "status";
public static final String EACH_STATUS_VAR = "forEachStatus";
//ZK-1787When the viewModel tell binder to reload a list, the other component that bind a bean in the list will reload again
public static final String TEMPLATE_OBJECT = "$TemplateVar$";
/**
* Resolve the template for the component
* @param eachComp the template to be resolved of the component
* @param eachData the data for resolver
* @param index the index of each
* @param size the size of data set
* @param subType the sub-type of template should be resolved
* @return the template if exist.
* @since 7.0.0
*/
Template resolveTemplate(Component eachComp, Object eachData, int index, int size, String subType);
/**
* @deprecated since 7.0.0
* use {@link #resolveTemplate(Component, Object, int, int, String)}
*/
@Deprecated
Template resolveTemplate(Component eachComp, Object eachData, int index, int size);
/**
* Add template tracking to component
* @param eachComp the component to add template tracking
* @deprecated since 6.5.3
*/
@Deprecated
void addTemplateTracking(Component eachComp);
/**
* Add template tracking to component
* @param eachComp the template to be resolved of the component
* @param eachData the data for resolver
* @param index the index of each
* @param size the size of data set
*/
void addTemplateTracking(Component eachComp, Object eachData, int index, int size);
}