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

📄 rtfctrlwordmap.java

📁 处理PDF
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/*
 * $Id: RtfCtrlWordMap.java 3440 2008-05-25 18:16:48Z howard_s $
 *
 * Copyright 2007 by Howard Shank
 *
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * (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.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the License.
 *
 * The Original Code is 'iText, a free JAVA-PDF library'.
 *
 * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
 * the Initial Developer are Copyright (C) 1999-2006 by Bruno Lowagie.
 * All Rights Reserved.
 * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
 * are Copyright (C) 2000-2006 by Paulo Soares. All Rights Reserved.
 *
 * Contributor(s): all the names of the contributors are added in the source code
 * where applicable.
 *
 * Alternatively, the contents of this file may be used under the terms of the
 * LGPL license (the ?GNU LIBRARY GENERAL PUBLIC LICENSE?), in which case the
 * provisions of LGPL are applicable instead of those above.  If you wish to
 * allow use of your version of this file only under the terms of the LGPL
 * License and not to allow others to use your version of this file under
 * the MPL, indicate your decision by deleting the provisions above and
 * replace them with the notice and other provisions required by the LGPL.
 * If you do not delete the provisions above, a recipient may use your version
 * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
 *
 * This library is free software; you can redistribute it and/or modify it
 * under the terms of the MPL as stated above or under the terms of the GNU
 * Library General Public License as published by the Free Software Foundation;
 * either version 2 of the License, or 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 Library general Public License for more
 * details.
 *
 * If you didn't download this code from the following link, you should check if
 * you aren't using an obsolete version:
 * http://www.lowagie.com/iText/
 */
package com.lowagie.text.rtf.parser.ctrlwords;

import java.util.HashMap;

import com.lowagie.text.rtf.parser.RtfParser;
import com.lowagie.text.rtf.parser.properties.RtfProperty;

/**
 * <code>RtfCtrlWords</code> handles the creation of the control word wiring.
 * It is a class containing the hash map of the control words (key)
 * and their associated class (value).
 *
 * @author Howard Shank (hgshank@yahoo.com)
 * @since 2.0.8
 */
final class RtfCtrlWordMap {

    // 1810 control words in Spec v1.9. might be a few more for other apps that implement
    // additional control words such as exchange, outlook, etc.
    // 1810/.9(loadfactor) = 2011.111111...
    // set approximate initial size to initial count / load factor.
    // HashMap default size is 16. Load Factor .75
    /**
     * Control Word HashMap mapping object.
     */
    private HashMap ctrlWords = new HashMap(2012, .9f);

    /**
     * Get the HashMap object containing the control words.
     * Initializes the instance if this is the first instantiation
     * of RtfCtrlWords class.
     * @since 2.0.8
     */
    public RtfCtrlWordHandler getCtrlWordHandler(String ctrlWord) {
    	try {
        	RtfCtrlWordHandler handler = null;
        	if(ctrlWords.containsKey(ctrlWord)) {
        		// add 1 to known control words
        		return (RtfCtrlWordHandler)ctrlWords.get(ctrlWord);
        	} else {
        		// add 1 to unknown control words
        		return (RtfCtrlWordHandler)ctrlWords.get("unknown");
        	}
		} catch (SecurityException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
    }
    
    /**
     * Constructor
     * @param rtfParser The parser object.
     * @since 2.0.8
     */
    public RtfCtrlWordMap(RtfParser rtfParser) {
/* 
 * Parameters:
 * RtfParser rtfParser
 * String ctrlWord
 * int defaultParameterValue
 * boolean passDefaultParameterValue 
 * RtfCtrlWordType ctrlWordType
 * String prefix
 * String suffix
 * String specialHandler =
 * 	If TOGGLE then the property name as String
 * 	If FLAG then the property name as String
 * 	If VALUE then the property name as String

⌨️ 快捷键说明

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