callbackutils.java

来自「exTreme taglib的使用」· Java 代码 · 共 75 行

JAVA
75
字号
/* * 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.table.callback;import java.util.Collection;import org.apache.commons.beanutils.PropertyUtils;import org.apache.commons.lang.StringUtils;import org.extremecomponents.table.bean.Table;import org.extremecomponents.table.core.BaseModel;import org.extremecomponents.util.ExtremeUtils;/** * Deal with callback specific utils. *  * @author Jeff Johnston */class CallbackUtils {    private CallbackUtils() {    }    static Collection findCollection(BaseModel model, Table table)            throws Exception {        Collection collection = null;        String items = String.valueOf(table.getItems());        if (StringUtils.isBlank(items) || "null".equals(items)) {            throw new Exception("The eXtremeComponent needs to have the items or collection attribute defined.");        }        if (StringUtils.contains(items, ".")) {            String split[] = StringUtils.split(items, ".");            Object obj = ExtremeUtils.retrieveFromScope(model.getPageContext(), split[0], table.getScope());            String collectionToFind = StringUtils.substringAfter(items, ".");            if (ExtremeUtils.isBeanPropertyReadable(obj, collectionToFind)) {                obj = PropertyUtils.getProperty(obj, collectionToFind);            }            if (!(obj instanceof Collection)) {                throw new Exception("The object passed into the eXtremeComponent is not of type Collection.");            }            collection = (Collection) obj;        } else {            Object obj = ExtremeUtils.retrieveFromScope(model.getPageContext(), items, table.getScope());            if (obj instanceof Collection) {                collection = (Collection) obj;            } else {                throw new Exception("The object passed into the eXtremeComponent is not of type Collection.");            }        }        if (collection == null) {            throw new Exception("The eXtremeComponent could not find the Collection of Beans (or Maps).");        }        return collection;    }}

⌨️ 快捷键说明

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