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

📄 keywordfilter.java

📁 java编写的OCR软件
💻 JAVA
字号:
/*
    Jacson
    Copyright (C) 2003 Patrick Carl, patrick.carl@web.de
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.
 
    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 
    $Id: KeyWordFilter.java 13 2005-09-28 06:02:56Z pcs $
 
 */

package de.spieleck.app.jacson.filter;

import java.util.Set;

import de.spieleck.config.ConfigNode;
import de.spieleck.util.StringUtil;
import de.spieleck.app.jacson.util.ConfigUtil;

import de.spieleck.app.jacson.JacsonException;
import de.spieleck.app.jacson.JacsonConfigException;
import de.spieleck.app.jacson.JacsonRegistry;


/**
 * Filter which filters out all chunks that are contained in the KeyWordList
 * or does the exact opposite. The keyword list is specified by the 
 * Key_WORD_LIST_NODE. To use more than one key word separate them with spaces.
 * @author  Patrick Carl
 */
public class KeyWordFilter extends ConstFilter {
    
    /**
     * name of the config node which contains the key words
     */
    public static final String KEY_WORD_LIST_NODE = "keywords";
    
    protected Set keyWords;
    
    public void init(ConfigNode config, JacsonRegistry registry)
    throws JacsonConfigException {
        String in = config.getString(KEY_WORD_LIST_NODE, null);
        if ( in == null )
            throw new JacsonConfigException(
            "KeyWordFilter needs keyword-config.");
        
        keyWords = StringUtil.getTokensAsSet(in, ' ');
        super.init(config, registry);
        ConfigUtil.verify(config, this);
    }
    
    public boolean accept(ConfigNode node){
        String name = node.getName();
        return KEY_WORD_LIST_NODE.equals(name)
            || super.accept(node);
    }
    
    public void putChunk(String chunk) throws JacsonException{
        if ( chunk == null )
            drain.putChunk(null);
        else if ( keyWords.contains(chunk) ^ inverse )
            drain.putChunk(chunk);
    }    
    
}

⌨️ 快捷键说明

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