com.lowagie.text.rtf.parser
Class RtfImportMgr

java.lang.Object
  extended by com.lowagie.text.rtf.parser.RtfImportMgr

public class RtfImportMgr
extends Object

The RtfImportHeader stores the document header information from an RTF document that is being imported. Currently font and color settings are stored. The RtfImportHeader maintains a mapping from font and color numbers from the imported RTF document to the RTF document that is the target of the import. This guarantees that the merged document has the correct font and color settings. It also handles other list based items that need mapping, for example stylesheets and lists.

Since:
2.1.0
Author:
Mark Hall (Mark.Hall@mail.room3b.eu), Howard Shank (hgshank@yahoo.com)

Field Summary
private  Document doc
          The Document.
private  HashMap importColorMapping
          The HashMap storing the color number mappings.
private  HashMap importFontMapping
          The HashMap storing the font number mappings.
private  HashMap importListMapping
          The HashMap storing the List number mappings.
private  HashMap importStylesheetListMapping
          The HashMap storing the Stylesheet List number mappings.
private  RtfDocument rtfDoc
          The RtfDocument to get font and color numbers from.
 
Constructor Summary
RtfImportMgr(RtfDocument rtfDoc, Document doc)
          Constructs a new RtfImportHeader.
 
Method Summary
 void importColor(String colorNr, Color color)
          Imports a color value.
 boolean importFont(String fontNr, String fontName)
          Imports a font.
 boolean importFont(String fontNr, String fontName, int charset)
          Imports a font.
 boolean importFont(String fontNr, String fontName, String fontFamily, int charset)
          Imports a font.
 void importList(String origListNr, String newListNr)
          Imports a List value.
 boolean importStylesheetList(String listNr, List listIn)
          Imports a stylesheet list value.
 String mapColorNr(String colorNr)
          Performs the mapping from the original font number to the actual font number used in the RTF document.
 String mapFontNr(String fontNr)
          Performs the mapping from the original font number to the actual font number in the resulting RTF document.
 String mapListNr(String listNr)
          Performs the mapping from the original list number to the actual list number in the resulting RTF document.
 String mapStylesheetListNr(String listNr)
          Performs the mapping from the original stylesheet number to the actual stylesheet number in the resulting RTF document.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

importFontMapping

private HashMap importFontMapping
The HashMap storing the font number mappings.


importColorMapping

private HashMap importColorMapping
The HashMap storing the color number mappings.


importStylesheetListMapping

private HashMap importStylesheetListMapping
The HashMap storing the Stylesheet List number mappings.


importListMapping

private HashMap importListMapping
The HashMap storing the List number mappings.


rtfDoc

private RtfDocument rtfDoc
The RtfDocument to get font and color numbers from.


doc

private Document doc
The Document. Used for conversions, but not imports.

Constructor Detail

RtfImportMgr

public RtfImportMgr(RtfDocument rtfDoc,
                    Document doc)
Constructs a new RtfImportHeader.

Parameters:
rtfDoc - The RtfDocument to get font and color numbers from.
Method Detail

importFont

public boolean importFont(String fontNr,
                          String fontName)
Imports a font. The font name is looked up in the RtfDocumentHeader and then the mapping from original font number to actual font number is added.

Parameters:
fontNr - The original font number.
fontName - The font name to look up.

importFont

public boolean importFont(String fontNr,
                          String fontName,
                          int charset)
Imports a font. The font name is looked up in the RtfDocumentHeader and then the mapping from original font number to actual font number is added.

Parameters:
fontNr - The original font number.
fontName - The font name to look up.
charset - The character set to use for the font.

importFont

public boolean importFont(String fontNr,
                          String fontName,
                          String fontFamily,
                          int charset)
Imports a font. The font name is looked up in the RtfDocumentHeader and then the mapping from original font number to actual font number is added.

Parameters:
fontNr - The original font number.
fontName - The font name to look up.
charset - The character set to use for the font.

mapFontNr

public String mapFontNr(String fontNr)
Performs the mapping from the original font number to the actual font number in the resulting RTF document. If the font number was not seen during import (thus no mapping) then 0 is returned, guaranteeing that the font number is always valid.

Parameters:
fontNr - The font number to map.
Returns:
The mapped font number.

importColor

public void importColor(String colorNr,
                        Color color)
Imports a color value. The color number for the color defined by its red, green and blue values is determined and then the resulting mapping is added.

Parameters:
colorNr - The original color number.
color - The color to import.

mapColorNr

public String mapColorNr(String colorNr)
Performs the mapping from the original font number to the actual font number used in the RTF document. If the color number was not seen during import (thus no mapping) then 0 is returned, guaranteeing that the color number is always valid.

Parameters:
colorNr - The color number to map.
Returns:
The mapped color number

importList

public void importList(String origListNr,
                       String newListNr)
Imports a List value. The List number for the List defined is determined and then the resulting mapping is added.


mapListNr

public String mapListNr(String listNr)
Performs the mapping from the original list number to the actual list number in the resulting RTF document. If the list number was not seen during import (thus no mapping) then null is returned. There is no guarantee of a valid list number.


importStylesheetList

public boolean importStylesheetList(String listNr,
                                    List listIn)
Imports a stylesheet list value. The stylesheet number for the stylesheet defined is determined and then the resulting mapping is added.


mapStylesheetListNr

public String mapStylesheetListNr(String listNr)
Performs the mapping from the original stylesheet number to the actual stylesheet number in the resulting RTF document. If the stylesheet number was not seen during import (thus no mapping) then 0 is returned, guaranteeing that the stylesheet number is always valid.


Hosted by Hostbasket