Package org.apache.poi.hwpf.model
Class TextPieceTable
- java.lang.Object
-
- org.apache.poi.hwpf.model.TextPieceTable
-
- All Implemented Interfaces:
CharIndexTranslator
- Direct Known Subclasses:
OldTextPieceTable
@Internal public class TextPieceTable extends Object implements CharIndexTranslator
The piece table for matching up character positions to bits of text. This mostly works in bytes, but the TextPieces themselves work in characters. This does the icky convertion.
-
-
Constructor Summary
Constructors Constructor Description TextPieceTable()
TextPieceTable(byte[] documentStream, byte[] tableStream, int offset, int size, int fcMin)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
add(TextPiece piece)
int
adjustForInsert(int listIndex, int length)
Adjust all the text piece after inserting some text into one of themboolean
equals(Object o)
int
getByteIndex(int charPos)
Calculates the byte index of the given char index.int
getCharIndex(int bytePos)
Deprecated.int
getCharIndex(int startBytePos, int startCP)
Deprecated.int[][]
getCharIndexRanges(int startBytePosInclusive, int endBytePosExclusive)
Finds character ranges that includes specified byte range.int
getCpMin()
StringBuilder
getText()
List<TextPiece>
getTextPieces()
int
hashCode()
boolean
isIndexInTable(int bytePos)
Check if index is in tableint
lookIndexBackward(int startBytePos)
Return last index <= bytePos that is in tableint
lookIndexForward(int startBytePos)
Return first index >= bytePos that is in tablebyte[]
writeTo(ByteArrayOutputStream docStream)
-
-
-
Method Detail
-
add
public void add(TextPiece piece)
-
adjustForInsert
public int adjustForInsert(int listIndex, int length)
Adjust all the text piece after inserting some text into one of them- Parameters:
listIndex
- The TextPiece that had characters inserted intolength
- The number of characters inserted
-
getByteIndex
public int getByteIndex(int charPos)
Description copied from interface:CharIndexTranslator
Calculates the byte index of the given char index.- Specified by:
getByteIndex
in interfaceCharIndexTranslator
- Parameters:
charPos
- The char position- Returns:
- The byte index
-
getCharIndex
@Deprecated public int getCharIndex(int bytePos)
Deprecated.
-
getCharIndex
@Deprecated public int getCharIndex(int startBytePos, int startCP)
Deprecated.
-
getCharIndexRanges
public int[][] getCharIndexRanges(int startBytePosInclusive, int endBytePosExclusive)
Description copied from interface:CharIndexTranslator
Finds character ranges that includes specified byte range.- Specified by:
getCharIndexRanges
in interfaceCharIndexTranslator
- Parameters:
startBytePosInclusive
- start byte rangeendBytePosExclusive
- end byte range
-
getCpMin
public int getCpMin()
-
getText
public StringBuilder getText()
-
isIndexInTable
public boolean isIndexInTable(int bytePos)
Description copied from interface:CharIndexTranslator
Check if index is in table- Specified by:
isIndexInTable
in interfaceCharIndexTranslator
- Returns:
- true if index in table, false if not
-
lookIndexBackward
public int lookIndexBackward(int startBytePos)
Description copied from interface:CharIndexTranslator
Return last index <= bytePos that is in table- Specified by:
lookIndexBackward
in interfaceCharIndexTranslator
- Returns:
- last index less of equal to bytePos that is in table
-
lookIndexForward
public int lookIndexForward(int startBytePos)
Description copied from interface:CharIndexTranslator
Return first index >= bytePos that is in table- Specified by:
lookIndexForward
in interfaceCharIndexTranslator
- Returns:
- first index greater or equal to bytePos that is in table
-
writeTo
public byte[] writeTo(ByteArrayOutputStream docStream) throws IOException
- Throws:
IOException
-
-