extract private getCharacterRun method with CHPX as parameter (used with reflection in workaround in AbstractWordUtils)

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1142763 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sergey Vladimirov 2011-07-04 19:05:40 +00:00
parent 1c0d6a5d09
commit 89a5e4c11c

View File

@ -781,25 +781,33 @@ public class Range { // TODO -instantiable superclass
* The index of the character run to get. * The index of the character run to get.
* @return The character run at the specified index in this range. * @return The character run at the specified index in this range.
*/ */
public CharacterRun getCharacterRun(int index) { public CharacterRun getCharacterRun( int index )
{
initCharacterRuns(); initCharacterRuns();
CHPX chpx = _characters.get(index + _charStart); CHPX chpx = _characters.get( index + _charStart );
return getCharacterRun( chpx );
}
if (chpx == null) { private CharacterRun getCharacterRun( CHPX chpx )
{
if ( chpx == null )
{
return null; return null;
} }
int[] point = findRange(_paragraphs, _parStart, Math.max(chpx.getStart(), _start), chpx int[] point = findRange( _paragraphs, _parStart,
.getEnd()); Math.max( chpx.getStart(), _start ), chpx.getEnd() );
if (point[0] >= _paragraphs.size()) { if ( point[0] >= _paragraphs.size() )
{
return null; return null;
} }
PAPX papx = _paragraphs.get(point[0]); PAPX papx = _paragraphs.get( point[0] );
short istd = papx.getIstd(); short istd = papx.getIstd();
CharacterRun chp = new CharacterRun(chpx, _doc.getStyleSheet(), istd, this); CharacterRun chp = new CharacterRun( chpx, _doc.getStyleSheet(), istd,
this );
return chp; return chp;
} }
@ -1077,10 +1085,16 @@ public class Range { // TODO -instantiable superclass
} }
} }
/**
* @return Starting character offset of the range
*/
public int getStartOffset() { public int getStartOffset() {
return _start; return _start;
} }
/**
* @return The ending character offset of this range
*/
public int getEndOffset() { public int getEndOffset() {
return _end; return _end;
} }