ecside如何实现自定义column interceptor

 ecside 中,对于每列的属性,是用户可以自个定义,只要实现ColumnInterceptor接口就可以。

如何实现的:

 

首先定义了接口ColumnInterceptior,有两个方法:

public interface ColumnInterceptor {

 

//增加列的属性


    public void addColumnAttributes(TableModel tableModel, Column column);

//修改列的属性
    public void modifyColumnAttributes(TableModel model, Column column);
}

 

ecside 在生成列时,会根据column 中的interceptor(指定实现ColumnInterceptor接口的类的全名,包括包) 属性 如:com.frame.ui.myColumnInterceptor  实例化这个类:

 

 TableCache.getInstance().getColumnInterceptor(interceptor).addColumnAttributes(model, column);

其中:interceptor 为:com.frame.ui.myColumnInterceptor 

对于已经实例化了的interceptor 类,它将从内存中直接拿出来,不再做初始化。所以用到了TableCache这个类。就是为此。

column 为列的对象,此中包含了已经定义好的了属性,可以进行修改。

你可能感兴趣的:(ecside如何实现自定义column interceptor)