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

📄 setstateparamfilter.java

📁 java编写的OCR软件
💻 JAVA
字号:
/* * SetStateFilter.java * * Created on 27. Januar 2004, 11:46 */package de.spieleck.app.jacson.filter;import de.spieleck.app.jacson.JacsonConfigException;import java.util.Enumeration;import java.util.Hashtable;import java.util.Iterator;import de.spieleck.app.jacson.JacsonException;import de.spieleck.app.jacson.JacsonRegistry;import de.spieleck.app.jacson.JacsonState;import de.spieleck.config.ConfigNode;/** * This filter sets a state of Jacson state.<br> * The state is set during initialization. The actual filtering behaviour is * inherited from ConstFilter * @author  Patrick Carl */public class SetStateParamFilter extends FilterBase {        public static final String PARAMETER_NODE = "param";    public static final String PARAMETER_NAME_NODE = "name";    public static final String PARAMETER_VALUE_NODE = "value";    public static final String REPEATING_NODE = "repeating";        private boolean repeating = false;    private boolean done = false;        private Hashtable paramSettings = new Hashtable();        /** Creates a new instance of SetStateFilter */    public SetStateParamFilter() {    }        /**     * nits this filter and sets params of the registered JacsonState     */    public void init(ConfigNode config, JacsonRegistry registry)    throws JacsonConfigException {        repeating = config.getBoolean(REPEATING_NODE,  true);                Iterator it = config.childrenNamed(PARAMETER_NODE);        ConfigNode param = null;                while(it.hasNext()){            param = (ConfigNode) it.next();            paramSettings.put(param.getString(PARAMETER_NAME_NODE, null),            param.getString(PARAMETER_VALUE_NODE, null));        }    }        public boolean accept(ConfigNode node) {        String name = node.getName();        return name.equals(PARAMETER_NODE) ||        name.equals(PARAMETER_NAME_NODE) || name.equals(PARAMETER_VALUE_NODE) ||        name.equals(REPEATING_NODE);    }        public void putChunk(String chunk)    throws JacsonException {        if(repeating || !done){            JacsonState state = getRegState();            Enumeration keys = paramSettings.keys();            Object key = null;            Object val = null;            while(keys.hasMoreElements()){                key = keys.nextElement();                if(key == null)                    continue;                val = paramSettings.get(key);                if(val != null)                    state.set(key.toString(), val.toString());            }            done = true;        }        drain.putChunk(chunk);    }}

⌨️ 快捷键说明

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