com.ibm.text
Interface Replaceable

All Known Implementing Classes:
ReplaceableString

public interface Replaceable

Replaceable is an interface that supports the operation of replacing a substring with another piece of text. Replaceable is needed in order to change a piece of text while retaining style attributes. For example, if the string "the bold font" has range (4, 8) replaced with "strong", then it becomes "the strong font".

Copyright © IBM Corporation 1999. All rights reserved.

Version:
$RCSfile: Replaceable.java,v $ $Revision: 1.3 $ $Date: 2000/04/25 17:17:37 $
Author:
Alan Liu

Method Summary
 char charAt(int offset)
          Return the character at the given offset into the text.
 void copy(int start, int limit, int dest)
          Copy a substring of this object, retaining attribute (out-of-band) information.
 void getChars(int srcStart, int srcLimit, char[] dst, int dstStart)
          Copies characters from this object into the destination character array.
 int length()
          Return the number of characters in the text.
 void replace(int start, int limit, char[] chars, int charsStart, int charsLen)
          Replace a substring of this object with the given text.
 void replace(int start, int limit, java.lang.String text)
          Replace a substring of this object with the given text.
 

Method Detail

length

public int length()
Return the number of characters in the text.
Returns:
number of characters in text

charAt

public char charAt(int offset)
Return the character at the given offset into the text.
Parameters:
offset - an integer between 0 and length()-1 inclusive
Returns:
character of text at given offset

getChars

public void getChars(int srcStart,
                     int srcLimit,
                     char[] dst,
                     int dstStart)
Copies characters from this object into the destination character array. The first character to be copied is at index srcStart; the last character to be copied is at index srcLimit-1 (thus the total number of characters to be copied is srcLimit-srcStart). The characters are copied into the subarray of dst starting at index dstStart and ending at index dstStart + (srcLimit-srcStart) - 1.
Parameters:
srcStart - the beginning index to copy, inclusive; 0 <= start <= limit.
srcLimit - the ending index to copy, exclusive; start <= limit <= length().
dst - the destination array.
dstStart - the start offset in the destination array.

replace

public void replace(int start,
                    int limit,
                    java.lang.String text)
Replace a substring of this object with the given text.
Parameters:
start - the beginning index, inclusive; 0 <= start <= limit.
limit - the ending index, exclusive; start <= limit <= length().
text - the text to replace characters start to limit - 1

replace

public void replace(int start,
                    int limit,
                    char[] chars,
                    int charsStart,
                    int charsLen)
Replace a substring of this object with the given text.
Parameters:
start - the beginning index, inclusive; 0 <= start <= limit.
limit - the ending index, exclusive; start <= limit <= length().
chars - the text to replace characters start to limit - 1
charsStart - the beginning index into chars, inclusive; 0 <= start <= limit.
charsLen - the number of characters of chars.

copy

public void copy(int start,
                 int limit,
                 int dest)
Copy a substring of this object, retaining attribute (out-of-band) information. This method is used to duplicate or reorder substrings. The destination index must not overlap the source range. Implementations that do not care about maintaining out-of-band information during copying may use the naive implementation:
 char[] text = new char[limit - start];
 getChars(start, limit, text, 0);
 replace(dest, dest, text, 0, limit - start);
Parameters:
start - the beginning index, inclusive; 0 <= start <= limit.
limit - the ending index, exclusive; start <= limit <= length().
dest - the destination index. The characters from start..limit-1 will be copied to dest. Implementations of this method may assume that dest <= start || dest >= limit.


Copyright (c) 1998-2000 IBM Corporation and others.