public class RMXString extends SnapObject implements java.lang.CharSequence, RMTextTypes
RMXString xstring = new RMXString("Hello World", RMColor.red); xstring.addAttribute(RMFont.getFont("Arail Bold", 12), 0, 5); xstring.addAttribute(RMFont.getFont("Arial BoldItalic", 12), 6, xstring.length());
Advanced applications, that need to disect or render strings, might iterate over the runs like this:
for(int i=0; i
Modifier and Type | Class and Description |
---|---|
class |
RMXString.CharsChange
A property change event for addChars/removeChars.
|
static class |
RMXString.Outline
The Outline inner class represents the attributes of outlined text: strokeWidth and fillColor.
|
class |
RMXString.StyleChange
A property change event for RMXStringRun.Style change.
|
RMTextTypes.TabType
RMTypes.Align, RMTypes.AlignX, RMTypes.AlignY
TEXT_CHAR_SPACING, TEXT_COLOR, TEXT_EMBEDDED_SHAPE, TEXT_FONT, TEXT_FORMAT, TEXT_OUTLINE, TEXT_PARAGRAPH, TEXT_SCRIPTING, TEXT_UNDERLINE
Constructor and Description |
---|
RMXString()
Creates an empty RMXString.
|
RMXString(java.lang.CharSequence theChars)
Creates an RMXString initialized with the given String and no attributes.
|
RMXString(java.lang.CharSequence theChars,
java.lang.Object... theAttrs)
Creates an RMXString initialized with the given String with all characters set to the given attributes.
|
RMXString(java.lang.CharSequence theChars,
RMTextStyle aStyle)
Creates an RMXString initialized with the given String with all characters set to the given style.
|
Modifier and Type | Method and Description |
---|---|
void |
addChars(java.lang.CharSequence theChars)
Appends the given String to the end of this XString.
|
void |
addChars(java.lang.CharSequence theChars,
int anIndex)
Adds chars at index.
|
void |
addChars(java.lang.CharSequence theChars,
java.util.Map theAttrs)
Appends the given string to the end of this XString, with the given attributes.
|
void |
addChars(java.lang.CharSequence theChars,
java.util.Map theAttrs,
int anIndex)
Appends the given string to this XString, with the given attributes, at the given index.
|
void |
addChars(java.lang.CharSequence theChars,
java.lang.Object... theAttrs)
Appends the given chars with the given attribute(s).
|
void |
addChars(java.lang.CharSequence theChars,
RMTextStyle aStyle,
int anIndex)
Appends the given string to this XString, with the given attributes, at the given index.
|
void |
addString(RMXString aString,
int anIndex)
Adds an XString to this string at given index.
|
char |
charAt(int anIndex)
Returns the char at given index.
|
RMXString |
clone()
Returns a clone of this x string.
|
boolean |
equals(java.lang.Object anObj)
Standard Object equals implementation.
|
RMXString |
fromXML(XMLArchiver anArchiver,
XMLElement anElement)
XML unarchival.
|
RMTypes.AlignX |
getAlignX()
Returns the horizontal alignment of the first paragraph of the xstring.
|
java.lang.Object |
getDefaultAttribute(java.lang.String aKey)
Returns the default for a given key.
|
RMColor |
getDefaultColor()
Returns the default color for this string.
|
RMFont |
getDefaultFont()
Returns the default font for this string.
|
RMFormat |
getDefaultFormat()
Returns the default format for this string.
|
RMParagraph |
getDefaultParagraph()
Returns the default paragraph for this string.
|
RMFont |
getFontAt(int anIndex)
Returns the current font at the given character index.
|
RMParagraph |
getParagraphAt(int anIndex)
Returns the current paragraph at the given character index.
|
RMXString |
getRepresentableString()
Returns a version of this string that substitutes alternate fonts for any characters that cannot be displayed in
their associated fonts (simply returns the receiver if all characters are valid).
|
RMXStringRun |
getRun()
Returns the XString head run.
|
RMXStringRun |
getRun(int anIndex)
Returns the specific Run at the given index in this XString.
|
RMXStringRun |
getRunAt(int anIndex)
Returns the XString run that contains or ends at given index.
|
RMXStringRun |
getRunAt(int anIndex,
boolean isInclusive)
Returns the XString run that contains or ends (if given option is true) at given index.
|
int |
getRunCount()
Returns the number of runs in this XString.
|
RMXStringRun |
getRunLast()
Returns the last run in this XString (convenience).
|
RMTextStyle |
getStyleAt(int anIndex)
Returns the text style for the run at the given character index.
|
RMTextStyle |
getStyleAt(int anIndex,
boolean isInclusive)
Returns the text style for the run at the given character index.
|
java.lang.String |
getText()
Returns the simple String represented by this RMXString.
|
boolean |
hasListeners()
Override to return false if FirePropertyChangeEnabled is off.
|
int |
indexOf(java.lang.String aString)
Returns the index within this string of the first occurrence of the given substring.
|
int |
indexOf(java.lang.String aString,
int aStart)
Returns the index within this string of first occurrence of given substring, starting at given index.
|
int |
length()
The length.
|
void |
removeChars(int aStart,
int anEnd)
Removes characters in given range.
|
void |
replaceChars(java.lang.CharSequence theChars,
int aStart,
int anEnd)
Replaces chars in given range, with given String.
|
void |
replaceChars(java.lang.CharSequence theChars,
RMTextStyle aStyle,
int aStart,
int anEnd)
Replaces chars in given range, with given String, using the given attributes.
|
void |
replaceString(RMXString xString,
int aStart,
int anEnd)
Replaces the chars in given range, with given XString.
|
RMXString |
rpgClone(ReportOwner anRptOwner,
java.lang.Object userInfo,
RMShape aShape,
boolean doCopy)
Creates a clone of the receiver, with substitution performed on @-sign delineated keys.
|
void |
setAlignX(RMTypes.AlignX anAlignX)
Sets the horizontal alignment of the xstring.
|
void |
setAttribute(java.lang.Object anAttr)
Applies the given attribute to whole xstring, assuming it's a basic attr types (font, color, etc.).
|
void |
setAttribute(java.lang.Object anAttr,
int aStart,
int anEnd)
Applies the given attribute to the given character range, assuming it's a basic attr type (font, color, etc.).
|
void |
setAttribute(java.lang.String aKey,
java.lang.Object anAttr)
Adds a given attribute of given type to the whole string.
|
void |
setAttribute(java.lang.String aKey,
java.lang.Object aValue,
int aStart,
int anEnd)
Sets a given attribute to a given value for a given range.
|
void |
setFirePropertyChangeEnabled(boolean aValue)
Sets whether string fires property change events.
|
void |
setParagraph(RMParagraph ps,
int start,
int end)
Sets the paragraph for the given character index range.
|
void |
setStyle(RMTextStyle aStyle,
int aStart,
int anEnd)
Sets the text style for given range.
|
void |
setText(java.lang.String aString)
Sets the simple String represented by this RMXString.
|
void |
setUnderlined(boolean aFlag)
Sets the xstring to be underlined.
|
java.lang.CharSequence |
subSequence(int aStart,
int anEnd)
Returns a subsequence.
|
RMXString |
substring(int aStart)
Returns an XString for given char range.
|
RMXString |
substring(int aStart,
int anEnd)
Returns an XString for given char range.
|
java.lang.String |
toString()
Standard toString implementation.
|
XMLElement |
toXML(XMLArchiver anArchiver)
XML archival.
|
public RMXString()
public RMXString(java.lang.CharSequence theChars)
public RMXString(java.lang.CharSequence theChars, RMTextStyle aStyle)
public RMXString(java.lang.CharSequence theChars, java.lang.Object... theAttrs)
public java.lang.String getText()
public int length()
length
in interface java.lang.CharSequence
public char charAt(int anIndex)
charAt
in interface java.lang.CharSequence
public java.lang.CharSequence subSequence(int aStart, int anEnd)
subSequence
in interface java.lang.CharSequence
public void setText(java.lang.String aString)
public int indexOf(java.lang.String aString)
public int indexOf(java.lang.String aString, int aStart)
public void addChars(java.lang.CharSequence theChars)
public void addChars(java.lang.CharSequence theChars, java.lang.Object... theAttrs)
public void addChars(java.lang.CharSequence theChars, java.util.Map theAttrs)
public void addChars(java.lang.CharSequence theChars, int anIndex)
public void addChars(java.lang.CharSequence theChars, java.util.Map theAttrs, int anIndex)
public void addChars(java.lang.CharSequence theChars, RMTextStyle aStyle, int anIndex)
public void removeChars(int aStart, int anEnd)
public void replaceChars(java.lang.CharSequence theChars, int aStart, int anEnd)
public void replaceChars(java.lang.CharSequence theChars, RMTextStyle aStyle, int aStart, int anEnd)
public void addString(RMXString aString, int anIndex)
public void replaceString(RMXString xString, int aStart, int anEnd)
public RMXStringRun getRun()
public int getRunCount()
public RMXStringRun getRun(int anIndex)
public RMXStringRun getRunLast()
public final RMXStringRun getRunAt(int anIndex)
public RMXStringRun getRunAt(int anIndex, boolean isInclusive)
public RMTextStyle getStyleAt(int anIndex)
public RMTextStyle getStyleAt(int anIndex, boolean isInclusive)
public void setStyle(RMTextStyle aStyle, int aStart, int anEnd)
public void setAttribute(java.lang.Object anAttr)
public void setAttribute(java.lang.Object anAttr, int aStart, int anEnd)
public void setAttribute(java.lang.String aKey, java.lang.Object anAttr)
public void setAttribute(java.lang.String aKey, java.lang.Object aValue, int aStart, int anEnd)
public RMFont getFontAt(int anIndex)
public RMParagraph getParagraphAt(int anIndex)
public void setParagraph(RMParagraph ps, int start, int end)
public void setUnderlined(boolean aFlag)
public RMTypes.AlignX getAlignX()
public void setAlignX(RMTypes.AlignX anAlignX)
public RMFont getDefaultFont()
public RMColor getDefaultColor()
public RMParagraph getDefaultParagraph()
public RMFormat getDefaultFormat()
public java.lang.Object getDefaultAttribute(java.lang.String aKey)
public RMXString getRepresentableString()
public RMXString substring(int aStart)
public RMXString substring(int aStart, int anEnd)
public RMXString rpgClone(ReportOwner anRptOwner, java.lang.Object userInfo, RMShape aShape, boolean doCopy)
public void setFirePropertyChangeEnabled(boolean aValue)
public boolean hasListeners()
public XMLElement toXML(XMLArchiver anArchiver)
public RMXString fromXML(XMLArchiver anArchiver, XMLElement anElement)
public boolean equals(java.lang.Object anObj)
public RMXString clone()
public java.lang.String toString()
toString
in interface java.lang.CharSequence