📄 viewhandler.java
字号:
/* * Copyright 2004 original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.extremecomponents.tree.handler;import org.apache.commons.lang.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.extremecomponents.base.BaseModel;import org.extremecomponents.base.BaseViewHandler;import org.extremecomponents.table.bean.Column;import org.extremecomponents.table.cell.Cell;import org.extremecomponents.table.view.View;import org.extremecomponents.tree.core.TreeModel;import org.extremecomponents.tree.core.TreeProperties;/** * Take care of the view. * * @author Jeff Johnston */public class ViewHandler extends BaseViewHandler { private static Log logger = LogFactory.getLog(ViewHandler.class); public ViewHandler(BaseModel model) { super(model); } public void setView() throws Exception { boolean invokeExport = getModel().getExportHandler().invokeExport(); if (invokeExport) { String view = getModel().getExportHandler().getCurrentExport().getView(); if (StringUtils.isNotBlank(view)) { Class classDefinition = Class.forName(((TreeModel) getModel()).getTreeProperties().getProperty( TreeProperties.VIEW + view.toLowerCase())); setView((View) classDefinition.newInstance()); getView().beforeBody(getModel()); } } else { Class classDefinition = Class.forName(((TreeModel) getModel()).getTreeProperties().getProperty( TreeProperties.VIEW_HTML)); setView((View) classDefinition.newInstance()); getView().beforeBody(getModel()); } } public void addColumnValue(String property, Object value, Object propertyValue) { Column column = getModel().getColumnHandler().getColumn(property); if (column != null) { Cell cell = buildCell(column, value, propertyValue); column.setValue(cell.html()); boolean isFirstColumn = getModel().getColumnHandler().isFirstColumn(property); boolean isLastColumn = getModel().getColumnHandler().isLastColumn(property); getView().body(getModel(), column, isFirstColumn, isLastColumn); cell.destroy(); } } /** * Build up the cells in the row. Will either load up a known cell type, or * just instantiate a new Cell using the fully qualified package name. */ private Cell buildCell(Column column, Object value, Object propertyValue) { Cell result = null; String cell = column.getCell(); String className = ((TreeModel) getModel()).getTreeProperties().getProperty(TreeProperties.CELL + cell); if (className == null) //a custom cell { className = cell; } try { result = getModel().getCachedCell(Class.forName(className)); column.setValue(value); column.setPropertyValue(propertyValue); result.init(getModel(), column, new Integer(rowcount())); } catch (Exception e) { logger.error("ViewHandler.buildCell()", e); } return result; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -