【仅供内部供应商使用,不提供对外解答和培训】
...
Code Block | ||
---|---|---|
| ||
package com.fr.design.fun;
import com.fr.design.mainframe.JTemplate;
import com.fr.stable.fun.mark.Mutable;
import java.util.Map;
/**
* @author richie
* @date 2015-03-19
* @since 8.0
* 自定义预览方式接口
*/
public interface PreviewProvider extends Mutable, Filter<JTemplate>{
String MARK_STRING = "PreviewProvider";
int CURRENT_LEVEL = 1;
/**
* 下拉弹出菜单的名字
* @return 弹出菜单名字
*/
String nameForPopupItem();
/**
* 下拉弹出菜单的图标路径
* @return 图标路径
*/
String iconPathForPopupItem();
/**
* 大图标路径
* @return 大图标路径
*/
String iconPathForLarge();
/**
* 点击下拉菜单时触发的事件
* @param jt 当前的模板对象
*/
void onClick(JTemplate<?, ?> jt);
/**
* 用于标记预览类型的整数
* @return 预览类型
*/
int previewTypeCode();
/**
* 该种预览方式所携带的默认参数集合
* @return 参数集合
*/
Map<String, Object> parametersForPreview();
} |
...
Code Block | ||
---|---|---|
| ||
<extra-designer> <PreviewProvider class="com.fr.plugin.xxx.youclassname"/> </extra-designer> |
Code Block | ||
---|---|---|
| ||
/**
* 条件过滤接口
*/
public interface Filter<T> {
boolean accept(T var1);
} |
注:不同的模板支持不同的预览方式,比如你的插件实现只支持表单预览,那需要重写accept方法,accept方法的传参为当前模板,重写accept方法判断当前模板是否为表单,返回true,当前实现生效,返回false,当前实现被过滤。
接口默认实现是支持报表不支持表单