1 /*
2  * $Id$
3  *
4  * Copyright 2006 by Mark Hall
5  *
6  * The contents of this file are subject to the Mozilla Public License Version 1.1
7  * (the "License"); you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS" basis,
11  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12  * for the specific language governing rights and limitations under the License.
13  *
14  * The Original Code is 'iText, a free JAVA-PDF library'.
15  *
16  * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by
17  * the Initial Developer are Copyright (C) 1999-2006 by Bruno Lowagie.
18  * All Rights Reserved.
19  * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer
20  * are Copyright (C) 2000-2006 by Paulo Soares. All Rights Reserved.
21  *
22  * Contributor(s): all the names of the contributors are added in the source code
23  * where applicable.
24  *
25  * Alternatively, the contents of this file may be used under the terms of the
26  * LGPL license (the ?GNU LIBRARY GENERAL PUBLIC LICENSE?), in which case the
27  * provisions of LGPL are applicable instead of those above.  If you wish to
28  * allow use of your version of this file only under the terms of the LGPL
29  * License and not to allow others to use your version of this file under
30  * the MPL, indicate your decision by deleting the provisions above and
31  * replace them with the notice and other provisions required by the LGPL.
32  * If you do not delete the provisions above, a recipient may use your version
33  * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE.
34  *
35  * This library is free software; you can redistribute it and/or modify it
36  * under the terms of the MPL as stated above or under the terms of the GNU
37  * Library General Public License as published by the Free Software Foundation;
38  * either version 2 of the License, or any later version.
39  *
40  * This library is distributed in the hope that it will be useful, but WITHOUT
41  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
42  * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more
43  * details.
44  *
45  * If you didn't download this code from the following link, you should check if
46  * you aren't using an obsolete version:
47  * http://www.lowagie.com/iText/
48  */
49 package com.lowagie.text.rtf.parser;
50 
51 import java.awt.Color;
52 import java.util.HashMap;
53 
54 /**
55  * The RtfImportMappings make it possible to define font
56  * and color mappings when using the RtfWriter2.importRtfFragment
57  * method. This is necessary, because a RTF fragment does not
58  * contain font or color information, just references to the
59  * font and color tables.<br /><br />
60  *
61  * The font mappings are fontNr -&gt; fontName and the color
62  * mappigns are colorNr -&gt; Color.
63  *
64  * @author Mark Hall (Mark.Hall@mail.room3b.eu)
65  * @author Howard Shank (hgshank@yahoo.com)
66  * @since 2.1.0
67  */
68 public class RtfImportMappings {
69 	/**
70 	 * The fontNr to fontName mappings.
71 	 */
72 	private HashMap fontMappings = null;
73 	/**
74 	 * The colorNr to Color mappings.
75 	 */
76 	private HashMap colorMappings = null;
77 	/**
78 	 * The listNr to List mappings.
79 	 */
80 	private HashMap listMappings = null;
81 	/**
82 	 * The sytlesheetListNr to Stylesheet mappings.
83 	 */
84 	private HashMap stylesheetListMappings = null;
85 
86 	/**
87 	 * Constructs a new RtfImportMappings initialising the mappings.
88 	 */
RtfImportMappings()89 	public RtfImportMappings() {
90 		this.fontMappings = new HashMap();
91 		this.colorMappings = new HashMap();
92 		this.listMappings = new HashMap();
93 		this.stylesheetListMappings = new HashMap();
94 	}
95 
96 	/**
97 	 * Add a font to the list of mappings.
98 	 *
99 	 * @param fontNr The font number.
100 	 * @param fontName The font name.
101 	 */
addFont(String fontNr, String fontName)102 	public void addFont(String fontNr, String fontName) {
103 		this.fontMappings.put(fontNr, fontName);
104 	}
105 	/**
106 	 * Add a color to the list of mappings.
107 	 *
108 	 * @param colorNr The color number.
109 	 * @param color The Color.
110 	 */
addColor(String colorNr, Color color)111 	public void addColor(String colorNr, Color color) {
112 		this.colorMappings.put(colorNr, color);
113 	}
114 	/**
115 	 * Add a List to the list of mappings.
116 	 *
117 	 * @param listNr The List number.
118 	 * @param list The List.
119 	 */
addList(String listNr, String list)120 	public void addList(String listNr, String list) {
121 		this.listMappings.put(listNr, list);
122 	}
123 	/**
124 	 * Add a Stylesheet List to the list of mappings.
125 	 *
126 	 * @param stylesheetListNr The Stylesheet List number.
127 	 * @param list The StylesheetList.
128 	 */
addStylesheetList(String stylesheetListNr, String list)129 	public void addStylesheetList(String stylesheetListNr, String list) {
130 		this.stylesheetListMappings.put(stylesheetListNr, list);
131 	}
132 
133 	/**
134 	 * Gets the list of font mappings. String to String.
135 	 *
136 	 * @return The font mappings.
137 	 */
getFontMappings()138 	public HashMap getFontMappings() {
139 		return this.fontMappings;
140 	}
141 
142 	/**
143 	 * Gets the list of color mappings. String to Color.
144 	 *
145 	 * @return The color mappings.
146 	 */
getColorMappings()147 	public HashMap getColorMappings() {
148 		return this.colorMappings;
149 	}
150 
151 	/**
152 	 * Gets the list of List mappings.
153 	 *
154 	 * @return The List mappings.
155 	 */
getListMappings()156 	public HashMap getListMappings() {
157 		return this.listMappings;
158 	}
159 
160 	/**
161 	 * Gets the list of Stylesheet mappings. .
162 	 *
163 	 * @return The Stylesheet List mappings.
164 	 */
getStylesheetListMappings()165 	public HashMap getStylesheetListMappings() {
166 		return this.stylesheetListMappings;
167 	}
168 }
169