@Internal public class TextPieceTable extends java.lang.Object implements CharIndexTranslator
Modifier and Type | Field and Description |
---|---|
protected java.util.ArrayList<TextPiece> |
_textPieces |
protected java.util.ArrayList<TextPiece> |
_textPiecesFCOrder |
Constructor and Description |
---|
TextPieceTable() |
TextPieceTable(byte[] documentStream,
byte[] tableStream,
int offset,
int size,
int fcMin) |
Modifier and Type | Method and Description |
---|---|
void |
add(TextPiece piece) |
int |
adjustForInsert(int listIndex,
int length)
Adjust all the text piece after inserting some text into one of them
|
boolean |
equals(java.lang.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() |
protected int |
getEncodingMultiplier(TextPiece textPiece) |
static int |
getMaxRecordLength() |
java.lang.StringBuilder |
getText() |
java.util.List<TextPiece> |
getTextPieces() |
int |
hashCode() |
boolean |
isIndexInTable(int bytePos)
Check if index is in table
|
int |
lookIndexBackward(int startBytePos)
Return last index <= bytePos that is in table
|
int |
lookIndexForward(int startBytePos)
Return first index >= bytePos that is in table
|
protected TextPiece |
newTextPiece(int nodeStartChars,
int nodeEndChars,
byte[] buf,
PieceDescriptor pd) |
static void |
setMaxRecordLength(int length) |
byte[] |
writeTo(java.io.ByteArrayOutputStream docStream) |
protected java.util.ArrayList<TextPiece> _textPieces
protected java.util.ArrayList<TextPiece> _textPiecesFCOrder
public TextPieceTable()
public TextPieceTable(byte[] documentStream, byte[] tableStream, int offset, int size, int fcMin)
public static void setMaxRecordLength(int length)
length
- the max record length allowed for TextPieceTablepublic static int getMaxRecordLength()
protected TextPiece newTextPiece(int nodeStartChars, int nodeEndChars, byte[] buf, PieceDescriptor pd)
public void add(TextPiece piece)
public int adjustForInsert(int listIndex, int length)
listIndex
- The TextPiece that had characters inserted intolength
- The number of characters insertedpublic boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int getByteIndex(int charPos)
CharIndexTranslator
getByteIndex
in interface CharIndexTranslator
charPos
- The char position@Deprecated public int getCharIndex(int bytePos)
@Deprecated public int getCharIndex(int startBytePos, int startCP)
public int[][] getCharIndexRanges(int startBytePosInclusive, int endBytePosExclusive)
CharIndexTranslator
getCharIndexRanges
in interface CharIndexTranslator
startBytePosInclusive
- start byte rangeendBytePosExclusive
- end byte rangeprotected int getEncodingMultiplier(TextPiece textPiece)
public int getCpMin()
public java.lang.StringBuilder getText()
public java.util.List<TextPiece> getTextPieces()
public int hashCode()
hashCode
in class java.lang.Object
public boolean isIndexInTable(int bytePos)
CharIndexTranslator
isIndexInTable
in interface CharIndexTranslator
public int lookIndexBackward(int startBytePos)
CharIndexTranslator
lookIndexBackward
in interface CharIndexTranslator
public int lookIndexForward(int startBytePos)
CharIndexTranslator
lookIndexForward
in interface CharIndexTranslator
public byte[] writeTo(java.io.ByteArrayOutputStream docStream) throws java.io.IOException
java.io.IOException
Copyright 2022 The Apache Software Foundation or its licensors, as applicable.