亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? defaultcreatormanager.java

?? dwr 源文件 dwr 源文件 dwr 源文件
?? JAVA
字號(hào):
/*
 * Copyright 2005 Joe Walker
 *
 * 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.directwebremoting.impl;

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.directwebremoting.Creator;
import org.directwebremoting.CreatorManager;
import org.directwebremoting.util.LocalUtil;
import org.directwebremoting.util.Logger;
import org.directwebremoting.util.Messages;

/**
 * A class to manage the types of creators and the instansiated creators.
 * @author Joe Walker [joe at getahead dot ltd dot uk]
 */
public class DefaultCreatorManager implements CreatorManager
{
    /**
     * Set the debug status
     * @param debug The new debug setting
     */
    public void setDebug(boolean debug)
    {
        this.debug = debug;
    }

    /* (non-Javadoc)
     * @see org.directwebremoting.CreatorManager#isDebug()
     */
    public boolean isDebug()
    {
        return debug;
    }

    /* (non-Javadoc)
     * @see org.directwebremoting.CreatorManager#addCreatorType(java.lang.String, java.lang.String)
     */
    public void addCreatorType(String typeName, String className)
    {
        if (!LocalUtil.isJavaIdentifier(typeName))
        {
            log.error("Illegal identifier: '" + typeName + "'"); //$NON-NLS-1$ //$NON-NLS-2$
            return;
        }

        Class clazz = LocalUtil.classForName(typeName, className, Creator.class);
        if (clazz != null)
        {
            creatorTypes.put(typeName, clazz);
        }
    }

    /* (non-Javadoc)
     * @see org.directwebremoting.CreatorManager#addCreator(java.lang.String, java.lang.String, java.util.Map)
     */
    public void addCreator(String scriptName, String typeName, Map params) throws InstantiationException, IllegalAccessException, IllegalArgumentException
    {
        if (!LocalUtil.isJavaIdentifier(scriptName))
        {
            log.error("Illegal identifier: '" + scriptName + "'"); //$NON-NLS-1$ //$NON-NLS-2$
            return;
        }

        Class clazz = (Class) creatorTypes.get(typeName);
        if (clazz == null)
        {
            log.error("Missing creator: " + typeName + " (while initializing creator for: " + scriptName + ".js)"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            return;
        }

        Creator creator = (Creator) clazz.newInstance();

        LocalUtil.setParams(creator, params, ignore);
        creator.setProperties(params);

        // add the creator for the script name
        addCreator(scriptName, creator);
    }

    /* (non-Javadoc)
     * @see org.directwebremoting.CreatorManager#addCreator(java.lang.String, org.directwebremoting.Creator)
     */
    public void addCreator(String scriptName, Creator creator) throws IllegalArgumentException
    {
        // Check that we don't have this one already
        Creator other = (Creator) creators.get(scriptName);
        if (other != null)
        {
            throw new IllegalArgumentException(Messages.getString("DefaultCreatorManager.DuplicateName", scriptName, other.getType().getName(), creator)); //$NON-NLS-1$
        }

        // Check that it can at least tell us what type of thing we will be getting
        try
        {
            Class test = creator.getType();
            if (test == null)
            {
                log.error("Creator: '" + creator + "' for " + scriptName + ".js is returning null for type queries."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            }
            else
            {
                creators.put(scriptName, creator);
            }
        }
        catch (NoClassDefFoundError ex)
        {
            log.error("Missing class for creator '" + creator + "'. Cause: " + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
        }
        catch (Exception ex)
        {
            log.error("Error loading class for creator '" + creator + "'.", ex); //$NON-NLS-1$ //$NON-NLS-2$
        }
    }

    /* (non-Javadoc)
     * @see org.directwebremoting.CreatorManager#getCreatorNames()
     */
    public Collection getCreatorNames() throws SecurityException
    {
        if (!debug)
        {
            throw new SecurityException();
        }

        return Collections.unmodifiableSet(creators.keySet());
    }

    /* (non-Javadoc)
     * @see org.directwebremoting.CreatorManager#getCreator(java.lang.String)
     */
    public Creator getCreator(String scriptName) throws SecurityException
    {
        Creator creator = (Creator) creators.get(scriptName);
        if (creator == null)
        {
            StringBuffer buffer = new StringBuffer("Names of known classes are: "); //$NON-NLS-1$
            for (Iterator it = creators.keySet().iterator(); it.hasNext();)
            {
                String key = (String) it.next();
                buffer.append(key);
                buffer.append(' ');
            }

            log.warn(buffer.toString());
            throw new SecurityException(Messages.getString("DefaultCreatorManager.MissingName", scriptName)); //$NON-NLS-1$
        }

        return creator;
    }

    /* (non-Javadoc)
     * @see org.directwebremoting.CreatorManager#setCreators(java.util.Map)
     */
    public void setCreators(Map creators)
    {
        this.creators = creators;
    }

    /**
     * The log stream
     */
    private static final Logger log = Logger.getLogger(DefaultCreatorManager.class);

    /**
     * The list of the available creators
     */
    private Map creatorTypes = new HashMap();

    /**
     * The list of the configured creators
     */
    private Map creators = new HashMap();

    /**
     * Are we in debug mode?
     */
    private boolean debug = false;

    /**
     * The properties that we don't warn about if they don't exist.
     * @see DefaultCreatorManager#addCreator(String, String, Map)
     */
    private static List ignore = Arrays.asList(new String[] { "creator", "class" }); //$NON-NLS-1$ //$NON-NLS-2$
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久国产精品免费蜜臀| 久久精品国产第一区二区三区| 成人久久久精品乱码一区二区三区| 欧美精品在线一区二区| 亚洲综合免费观看高清在线观看| 国产精品毛片久久久久久久| 亚洲午夜免费视频| 成人毛片在线观看| 欧美挠脚心视频网站| 色老头久久综合| av激情亚洲男人天堂| 亚洲精品日韩一| 99视频一区二区| 大美女一区二区三区| 中文子幕无线码一区tr| 日韩综合小视频| 久久黄色级2电影| 国产精品资源在线观看| 久久―日本道色综合久久| 粉嫩高潮美女一区二区三区| 欧美一级爆毛片| 一本一道久久a久久精品| 国产午夜亚洲精品羞羞网站| 风间由美一区二区av101| 亚洲丶国产丶欧美一区二区三区| 久久久电影一区二区三区| 欧美日韩一区二区三区在线看 | 久久久久国产精品人| 亚洲va欧美va天堂v国产综合| 亚洲影视在线观看| 亚洲精品一卡二卡| 中文字幕字幕中文在线中不卡视频| 久久久99精品免费观看不卡| 一区二区三国产精华液| 91福利在线观看| 国产精品午夜久久| 91视频免费播放| 精品国产免费视频| 欧美成人精品1314www| 韩国女主播一区| 肉丝袜脚交视频一区二区| 久久精品久久综合| 日韩一区二区三区在线观看| 天天av天天翘天天综合网| 成人午夜av影视| 午夜久久久影院| 久久久综合精品| 欧美一区二区高清| 国产视频一区在线观看| 欧美日韩一区中文字幕| 一本大道久久a久久精品综合| 狠狠色丁香婷婷综合| 亚洲成人免费在线观看| 欧美性视频一区二区三区| 国内外精品视频| 国产aⅴ精品一区二区三区色成熟| 久久婷婷色综合| 91蜜桃在线免费视频| 国产电影一区二区三区| 国产天堂亚洲国产碰碰| 久久久久国产一区二区三区四区| 亚洲国产成人在线| 亚洲成人资源网| 岛国av在线一区| 一级做a爱片久久| 色综合天天天天做夜夜夜夜做| 日韩美女视频一区二区在线观看| 亚洲女厕所小便bbb| 久久电影网站中文字幕| 国产一区二区在线视频| 欧美亚洲国产一区在线观看网站 | 尤物av一区二区| 欧美性大战久久久久久久蜜臀| 国产成+人+日韩+欧美+亚洲| 韩国精品主播一区二区在线观看 | 97久久人人超碰| 亚洲国产一二三| 日韩精品中文字幕一区二区三区| 国产福利91精品| 亚洲影视在线观看| 国产一区二区伦理片| 日韩精品一区二区三区视频播放| 99久久久国产精品免费蜜臀| 亚洲一区在线免费观看| 亚洲电影在线播放| 欧美激情中文不卡| 一区二区三区欧美日韩| 五月天国产精品| 国产一区二区三区四区五区美女| 久久精品久久精品| 在线看日韩精品电影| 国产精品乱码人人做人人爱| 日产国产欧美视频一区精品| 国产大片一区二区| 国产一二三精品| 国产成人综合亚洲网站| 毛片一区二区三区| 粉嫩av一区二区三区粉嫩| 国产成人在线网站| 欧美在线播放高清精品| 国产精品久久久久久户外露出| 一区二区三区中文字幕精品精品| 激情另类小说区图片区视频区| 6080国产精品一区二区| 亚洲国产aⅴ成人精品无吗| 成人的网站免费观看| 日韩一级成人av| 国产麻豆91精品| 国产精品久久久久久户外露出| 国产.欧美.日韩| 亚洲欧美乱综合| 91在线观看视频| 肉肉av福利一精品导航| 日韩免费性生活视频播放| 国产不卡视频在线观看| 久久精品男人天堂av| 夜夜嗨av一区二区三区| 在线中文字幕一区| 亚洲男人的天堂网| 91视频免费播放| 亚洲h精品动漫在线观看| 欧美电影在哪看比较好| 一区二区三区四区蜜桃| 欧美一区二区三区免费视频 | 色婷婷av一区二区三区gif| 亚洲精品乱码久久久久久久久 | 国产精品不卡在线| 欧美日产国产精品| 激情综合色丁香一区二区| 日韩精品专区在线| 国产成人av影院| 玉足女爽爽91| 欧美一级黄色片| 99精品视频在线观看免费| 日韩av在线播放中文字幕| 久久久久久一级片| 色婷婷精品久久二区二区蜜臂av | 在线播放/欧美激情| 黄色精品一二区| 亚洲最大色网站| 久久天天做天天爱综合色| 91成人网在线| 国产麻豆成人精品| 亚洲精品写真福利| 亚洲自拍偷拍图区| 亚洲综合免费观看高清完整版 | 欧美日韩成人在线| 欧美精品久久天天躁| 精品亚洲免费视频| 麻豆精品精品国产自在97香蕉| 欧美激情一区二区三区不卡| 99免费精品视频| 久久er精品视频| 一区二区三区国产| 久久久久久久久伊人| 欧美成人女星排行榜| 欧美亚洲愉拍一区二区| 亚洲一区二区偷拍精品| 精品国产乱码久久久久久影片| 欧美日本一区二区在线观看| 91色综合久久久久婷婷| 色噜噜狠狠成人网p站| 无码av免费一区二区三区试看 | 亚洲日本一区二区三区| 国产欧美一区二区精品性色超碰 | 精品国产乱码久久久久久蜜臀| 日韩免费福利电影在线观看| 在线电影欧美成精品| 7777精品伊人久久久大香线蕉| 久久久久久影视| 亚洲精品福利视频网站| 全国精品久久少妇| 国产精品99久久久久久宅男| 天堂蜜桃一区二区三区| 亚洲乱码中文字幕| 亚洲3atv精品一区二区三区| 亚洲九九爱视频| 一区二区三区欧美激情| 蜜桃91丨九色丨蝌蚪91桃色| 美洲天堂一区二卡三卡四卡视频| 日本成人超碰在线观看| 成人精品视频一区二区三区尤物| 韩国v欧美v亚洲v日本v| 91视频观看免费| 精品粉嫩aⅴ一区二区三区四区| 欧美日韩国产不卡| 亚洲精品在线一区二区| 国产精品高清亚洲| 国内精品久久久久影院色| 成人av网址在线观看| 日本福利一区二区| 色美美综合视频| 日韩久久久精品| 久久久99久久| 久久精品国产精品青草| 丁香六月久久综合狠狠色| 欧美精品日韩精品| 亚洲黄色小说网站| 99国产精品国产精品毛片| 欧美一区二区精品久久911|