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

📄 fluentconfigurator.java

📁 反向的AJAX。最大的特性是我们成为反向的Ajax。DWR1.x允许你用javascript异步的访问java代码。DWR2.0在这上允许你建立异步java访问javascript代码。 反向的Aj
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    {        flush();        this.state = state;    }    /**     * Takes and configuration that is in progress and calls methods on the     * various objects to enable that configuration.     */    private void flush()    {        switch (state)        {        case STATE_INIT_CONVERT:            // do nothing;            break;        case STATE_INIT_CREATE:            // do nothing;            break;        case STATE_ALLOW_CONVERT:            try            {                if (params == null)                {                     converterManager.addConverter(match, converter, EMPTY_MAP);                }                else                {                    converterManager.addConverter(match, converter, params);                }            }            catch (Exception e)            {                log.warn("Failed to add converter of type='" + converter + "', match=" + match + ": ", e);            }            params = null;            match = null;            converter = null;            break;        case STATE_ALLOW_CREATE:            try            {                if (params == null)                {                     creatorManager.addCreator(scriptName, typeName, EMPTY_MAP);                }                else                {                    creatorManager.addCreator(scriptName, typeName, params);                }                                if (filters != null)                {                    for (Iterator it = filters.iterator(); it.hasNext();)                    {                        String className = (String) it.next();                        AjaxFilter filter = (AjaxFilter) LocalUtil.classNewInstance(scriptName, className, AjaxFilter.class);                        if (filter != null)                        {                            LocalUtil.setParams(filter, Collections.EMPTY_MAP, Collections.EMPTY_LIST);                            ajaxFilterManager.addAjaxFilter(filter, scriptName);                        }                    }                }            }            catch (Exception e)            {                log.warn("Failed to add creator of type='" + typeName + "', scriptName=" + scriptName + ": ", e);            }            params = null;            scriptName = null;            typeName = null;            filters = null;            break;                    case STATE_ALLOW_FILTER:            try            {                Class impl = LocalUtil.classForName(filterClassName);                AjaxFilter object = (AjaxFilter) impl.newInstance();                if (params != null) {                    LocalUtil.setParams(object, params, Collections.EMPTY_LIST);                }                                ajaxFilterManager.addAjaxFilter(object);            }            catch (ClassCastException ex)            {                log.error(filterClassName + " does not implement " + AjaxFilter.class.getName(), ex);            }            catch (NoClassDefFoundError ex)            {                log.info("Missing class for filter (class='" + filterClassName + "'). Cause: " + ex.getMessage());            }            catch (Exception ex)            {                log.error("Failed to add filter: class=" + filterClassName, ex);            }                        params = null;            filterClassName = null;                        break;        case STATE_SIGNATURE:            if (signature != null && signature.length() > 0)            {                SignatureParser sigp = new SignatureParser(converterManager, creatorManager);                sigp.parse(signature.toString());            }            break;        default:            break;        }    }    /* (non-Javadoc)     * @see org.directwebremoting.Configurator#configure(org.directwebremoting.Container)     */    public void configure(Container container)    {        converterManager = (ConverterManager) container.getBean(ConverterManager.class.getName());        ajaxFilterManager = (AjaxFilterManager) container.getBean(AjaxFilterManager.class.getName());        accessControl = (AccessControl) container.getBean(AccessControl.class.getName());        creatorManager = (CreatorManager) container.getBean(CreatorManager.class.getName());        configure();        setState(STATE_COMPLETE);    }    /**     * Used for <allow create .../>     */    private String typeName = null;    /**     * Used for <allow create .../>     */    private String scriptName = null;    /**     * Used for <allow filter .../>     */    private String filterClassName = null;        /**     * Used for <allow convert .../>     */    private String converter = null;    /**     * Used for <allow convert .../>     */    private String match = null;    /**     * holds name / value pairs used in <allow create|convert ... />     */    private Map params = null;        /**     * holds classNames of filters used in <allow create/ filter />     */    private List filters = null;    /**     * holds signature lines     */    private StringBuffer signature = null;    /**     * What section of a configuration are we in?     */    private int state = -1;    /**     * JDK5: we can convert this to Collections.emptyMap();     */    private static final Map EMPTY_MAP = Collections.unmodifiableMap(new HashMap());    /**     * What AjaxFilters apply to which Ajax calls?     */    private AjaxFilterManager ajaxFilterManager = null;        /**     * The ConverterManager that we are configuring     */    private ConverterManager converterManager = null;    /**     * The AccessControl that we are configuring     */    private AccessControl accessControl = null;    /**     * The CreatorManager that we are configuring     */    private CreatorManager creatorManager = null;    /**     * {@link #state} to say we are working in {@link #withCreatorType(String, String)}     */    private static final int STATE_INIT_CREATE = 0;    /**     * {@link #state} to say we are working in {@link #withConverterType(String, String)}     */    private static final int STATE_INIT_CONVERT = 1;    /**     * {@link #state} to say we are working in {@link #withCreator(String, String)}     */    private static final int STATE_ALLOW_CREATE = 2;        /**     * {@link #state} to say we are working in {@link #withFilter(String)}     */    private static final int STATE_ALLOW_FILTER = 3;    /**     * {@link #state} to say we are working in {@link #withConverter(String, String)}     */    private static final int STATE_ALLOW_CONVERT = 4;    /**     * {@link #state} to say we are working in {@link #withSignature()}     */    private static final int STATE_SIGNATURE = 5;    /**     * {@link #state} to say {@link #configure()} has completed     */    private static final int STATE_COMPLETE = 6;    /**     * The log stream     */    private static final Logger log = Logger.getLogger(FluentConfigurator.class);}

⌨️ 快捷键说明

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