⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 columndefaults.java

📁 ecside jsp前途分页的标签 实现ajax 增删改查等
💻 JAVA
字号:
/*
 * Copyright 2006-2007 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.ecside.core.bean;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.ecside.core.MessagesConstants;
import org.ecside.core.RetrievalUtils;
import org.ecside.core.TableConstants;
import org.ecside.core.TableModel;
import org.ecside.core.TableModelUtils;
import org.ecside.preferences.PreferencesConstants;
import org.ecside.util.ExtremeUtils;

/**
 * @author Wei Zijun
 *
 */


/**
 * Pull all the default values for the ColumnTag. Because the default values
 * could be coming from the properties or resource bundle this class will
 * abstract that out.
 */
final class ColumnDefaults {
	

    
    static String getCell(TableModel model, String cell) {
        String result;

        if (StringUtils.isNotBlank(cell)) {
            result = model.getPreferences().getPreference(PreferencesConstants.COLUMN_CELL + cell);
            if (StringUtils.isBlank(result)) {
                result = cell;
            }
        } else {
            result = model.getPreferences().getPreference(PreferencesConstants.COLUMN_CELL + TableConstants.CELL_DISPLAY);
        }

        return result;
    }

    static String getFilterCell(TableModel model, String filterCell) {
        String result;

        if (StringUtils.isNotBlank(filterCell)) {
            result = model.getPreferences().getPreference(PreferencesConstants.COLUMN_FILTER_CELL + filterCell);
            if (StringUtils.isBlank(result)) {
                result = filterCell;
            }
        } else {
            result = model.getPreferences().getPreference(PreferencesConstants.COLUMN_FILTER_CELL + TableConstants.CELL_FILTER);
        }

        return result;
    }

    static String getHeaderCell(TableModel model, String headerCell) {
        String result;

        if (StringUtils.isNotBlank(headerCell)) {
            result = model.getPreferences().getPreference(PreferencesConstants.COLUMN_HEADER_CELL + headerCell);
            if (StringUtils.isBlank(result)) {
                result = headerCell;
            }
        } else {
            result = model.getPreferences().getPreference(PreferencesConstants.COLUMN_HEADER_CELL + TableConstants.CELL_HEADER);
        }

        return result;
    }

    static String getParse(TableModel model, Column column, String parse) {
        if (StringUtils.isNotBlank(parse)) {
            return parse;
        }

        if (column.isDate()) {
            return model.getPreferences().getPreference(PreferencesConstants.COLUMN_PARSE + TableConstants.DATE);
        }

        return parse;
    }

    /**
     * If this is a named format then it should be in the resource bundle. For
     * backwards compatibility check the properties file also.
     */
    static String getFormat(TableModel model, Column column, String format) {
        String result = getFormatInResourceBundle(model, column, format);
        if (StringUtils.isBlank(result)) {
            result = getFormatInProperties(model, column, format);
        }

        if (StringUtils.isNotBlank(result)) {
            return result;
        }

        return format;
    }

    static String getFormatInResourceBundle(TableModel model, Column column, String format) {
        if (StringUtils.isNotBlank(format) && isNamedFormat(format)) {
            return model.getMessages().getMessage(MessagesConstants.COLUMN_FORMAT + format);
        }

        if (StringUtils.isBlank(format)) {
            if (column.isCurrency()) {
                return model.getMessages().getMessage(MessagesConstants.COLUMN_FORMAT + TableConstants.CURRENCY);
            } else if (column.isDate()) {
                return model.getMessages().getMessage(MessagesConstants.COLUMN_FORMAT + TableConstants.DATE);
            }
        }

        return null;
    }

    static String getFormatInProperties(TableModel model, Column column, String format) {
        if (StringUtils.isNotBlank(format) && isNamedFormat(format)) {
            return model.getPreferences().getPreference(PreferencesConstants.COLUMN_FORMAT + format);
        }

        if (StringUtils.isBlank(format)) {
            if (column.isCurrency()) {
                return model.getPreferences().getPreference(PreferencesConstants.COLUMN_FORMAT + TableConstants.CURRENCY);
            } else if (column.isDate()) {
                return model.getPreferences().getPreference(PreferencesConstants.COLUMN_FORMAT + TableConstants.DATE);
            }
        }

        return null;
    }

    /**
     * If the format contains any of these formats then it is custom format
     * doing inline.
     */
    static boolean isNamedFormat(String format) {
        char args[] = { '#', '/', '-' };
        if (StringUtils.containsNone(format, args)) {
            return true;
        }

        return false;
    }

    static Boolean isSortable(TableModel model, Boolean sortable) {
        if (sortable == null) {
            return Boolean.valueOf(model.getTable().isSortable());
        }

        return sortable;
    }

    
    static Boolean isEditable(TableModel model, Boolean editable) {
        if (editable == null) {
            return Boolean.valueOf(model.getTable().isEditable());
        }

        return editable;
    }
    
    static Boolean resizeColWidth(TableModel model, Boolean resizeColWidth) {
        if (resizeColWidth == null) {
            return Boolean.valueOf(model.getTable().isResizeColWidth());
        }

        return resizeColWidth;
    }
    
    static Boolean isFilterable(TableModel model, Boolean filterable) {
        if (filterable == null) {
            return Boolean.valueOf(model.getTable().isFilterable());
        }

        return filterable;
    }

    static String getTitle(TableModel model, String title, String property) {
        if (StringUtils.isEmpty(title)) {
            return ExtremeUtils.camelCaseToWord(property);
        }

        if (TableModelUtils.isResourceBundleProperty(title)) {
            String resourceValue = model.getMessages().getMessage(title);
            if (resourceValue != null) {
                return resourceValue;
            }
        }

        return title;
    }

    static String getHeaderClass(TableModel model, String headerClass) {
        if (StringUtils.isBlank(headerClass)) {
            return model.getPreferences().getPreference(PreferencesConstants.TABLE_HEADER_CLASS);
        }

        return headerClass;
    }

    static String getAlias(String alias, String property) {
        if (StringUtils.isBlank(alias) && StringUtils.isNotBlank(property)) {
            return property;
        }

        return alias;
    }

    public static String[] getCalcTitle(TableModel model, String[] calcTitle) {
        List results = new ArrayList();
        
        if (calcTitle == null) {
            return new String[]{};
        }
        
        for (int i = 0; i < calcTitle.length; i++) {
            String title = calcTitle[i];
            
            if (TableModelUtils.isResourceBundleProperty(title)) {
                String resourceValue = model.getMessages().getMessage(title);
                if (resourceValue == null) {
                    resourceValue = title;
                }
                
                if (StringUtils.isNotBlank(resourceValue)) {
                    results.add(resourceValue);
                }
            } else {
                results.add(title);
            }
        }
        
        return (String[]) results.toArray(new String[results.size()]);
    }
    
    static Boolean isEscapeAutoFormat(TableModel model, Boolean escapeAutoFormat) {
        if (escapeAutoFormat == null) {
            return Boolean.valueOf(model.getPreferences().getPreference(PreferencesConstants.COLUMN_ESCAPE_AUTO_FORMAT));
        }

        return escapeAutoFormat;
    }
    
    static Object getFilterOptions(TableModel model, Object filterOptions) {
        try {
            if (filterOptions != null) {
                return RetrievalUtils.retrieveCollection(model.getContext(), filterOptions);
            }
        } catch (Exception e) {}
        
        return null;
    }
    

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -