Override重写的调用

 (1)调用原始函数DefaultColumnModelFactory

columnModelFactory = new DefaultColumnModelFactory(new ColumnModelImpl(this.getFieldList()));
public DefaultColumnModelFactory(ColumnModel  columnModel)
{
      this.columnModel = columnModel;
} 

 (2)重写函数DefaultColumnModelFactory——updateColumnModel

columnModelFactory = new DefaultColumnModelFactory(pos, uiFieldLists, canCustomColumn, tableType)
{
	@Override
	public ColumnModel updateColumnModel(List<UIField> uiFieldList,ColumnModel colModel) 
	{
		List<ColumnField> columnFieldList = new ArrayList<ColumnField>(); 
		for (UIField uiField:uiFieldList)
		{
			ColumnField columnField = null;
			if (uiField.getName().equalsIgnoreCase(SystemClassFieldEnum.ID.getName()))
			{
				boolean isTitleVisible = uiField.isTitleVisible();
				String title = null;
				if (isTitleVisible)
				{
					title = uiField.getTitle(MessageManager.getCurrentLanguage());
				}
				int width = uiField.getWidth() == null ? 100 : Integer.valueOf(uiField.getWidth());
				columnField = new ColumnFieldIDImpl(uiField, uiField.getName(), title, width, true);
			}
			else
			{
				columnField = DefaultCustomColumnFieldFactory.createNormalField(uiField, classFieldMap.get(uiField.getName()), false);
				columnField.setSortable(true);
				if (SystemClassFieldEnum.UPDATETIME.getName().equalsIgnoreCase(uiField.getName()))
				{
					columnField.setSortDirection(SWT.DOWN);
				}
			}
			columnField.setFieldFrom(FieldOrignTypeEnum.CLASS.toString());
			columnFieldList.add(columnField);
		}
		colModel.setFieldList(columnFieldList);
		setColumnModel(colModel);
		return colModel;
	}
};

(3)调用重写函数——updateColumnModel

List<UIField> uiFieldList = getUIFieldList(tableType, pos, defaultUIList, classifFK, classFKList);
ColumnModel colModel = new ColumnModelImpl();
this.columnModel = columnModelFactory.updateColumnModel(uiFieldList,colModel);

猜你喜欢

转载自blog.csdn.net/Grace_1203/article/details/81945954
今日推荐