【仅供内部供应商使用,不提供对外解答和培训】

Page tree

【仅供内部供应商使用,不提供对外解答和培训】

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

接口作用

增加报表单元格支持的元素类型。

接口内容

ObjectMakeProvider
/**
 * Created by richie on 16/4/22.
 * 单元格元素接口
 */
public interface ObjectMakeProvider extends Level, XMLable {

    String MARK_STRING = "ObjectMakeProvider";

    int CURRENT_LEVEL = 1;

    /**
     * 这个元素的xml标记
     * @return 具有唯一性的字符串
     */
    String xmlTag();

    /**
     * 将对象封装为可写的xml对象
     * @param obj 待封装的对象
     * @return 可写的xml对象
     */
    XML asXMLObject(Object obj);

    /**
     * @see ObjectMakeProvider#asXMLObject(Object)
     * 指定的对象是否可以封装为可写的xml对象
     * @param obj 待判断的对象
     * @return 如果该对象符合封装条件,则会后续调用封装方法
     */
    boolean accept(Object obj);

    /**
     * 克隆当前对象
     * @return 克隆后的对象
     */
    ObjectMakeProvider clone();
}

关联接口

如果这个扩展的单元格元素需要参与计算,需要实现Calculable接口:

package com.fr.report.xml;

import com.fr.script.Calculator;
import com.fr.stable.xml.XMLable;

/**
 * Created by richie on 16/4/25.
 * 可计算的对象
 */
public interface Calculable<T> extends XMLable {

    /**
     * 计算结果
     *
     * @param cal 算子
     * @return 计算后的值
     */
    T result(Calculator cal);
}

 

注册方式

<extra-report>
   <ObjectMakeProvider class="com.fr.plugin.xxx.youclassname"/>
</extra-report>
  • No labels