Home » openjdk-7 » javax » swing » text » [javadoc | source]
javax.swing.text
public final class: StringContent [javadoc | source]
java.lang.Object
   javax.swing.text.StringContent

All Implemented Interfaces:
    Content, java$io$Serializable

An implementation of the AbstractDocument.Content interface that is a brute force implementation that is useful for relatively small documents and/or debugging. It manages the character content as a simple character array. It is also quite inefficient.

It is generally recommended that the gap buffer or piece table implementations be used instead. This buffer does not scale up to large sizes.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see java.beans.XMLEncoder .

Nested Class Summary:
final class  StringContent.PosRec  holds the data for a mark... separately from the real mark so that the real mark can be collected if there are no more references to it.... the update table holds only a reference to this grungy thing. 
final class  StringContent.StickyPosition  This really wants to be a weak reference but in 1.1 we don't have a 100% pure solution for this... so this class trys to hack a solution to causing the marks to be collected. 
final class  StringContent.UndoPosRef  Used to hold a reference to a Position that is being reset as the result of removing from the content. 
class  StringContent.InsertUndo  UnoableEdit created for inserts. 
class  StringContent.RemoveUndo  UndoableEdit created for removes. 
Field Summary
transient  Vector<PosRec> marks     
Constructor:
 public StringContent() 
 public StringContent(int initialLength) 
Method from javax.swing.text.StringContent Summary:
createPosition,   getChars,   getPositionsInRange,   getString,   insertString,   length,   remove,   replace,   resize,   updateMarksForInsert,   updateMarksForRemove,   updateUndoPositions
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.swing.text.StringContent Detail:
 public Position createPosition(int offset) throws BadLocationException 
    Creates a position within the content that will track change as the content is mutated.
 public  void getChars(int where,
    int len,
    Segment chars) throws BadLocationException 
    Retrieves a portion of the content. where + len must be <= length()
 protected Vector getPositionsInRange(Vector v,
    int offset,
    int length) 
    Returns a Vector containing instances of UndoPosRef for the Positions in the range offset to offset + length. If v is not null the matching Positions are placed in there. The vector with the resulting Positions are returned.

    This is meant for internal usage, and is generally not of interest to subclasses.

 public String getString(int where,
    int len) throws BadLocationException 
    Retrieves a portion of the content. where + len must be <= length().
 public UndoableEdit insertString(int where,
    String str) throws BadLocationException 
    Inserts a string into the content.
 public int length() 
    Returns the length of the content.
 public UndoableEdit remove(int where,
    int nitems) throws BadLocationException 
    Removes part of the content. where + nitems must be < length().
  void replace(int offset,
    int length,
    char[] replArray,
    int replOffset,
    int replLength) 
    Replaces some of the characters in the array
  void resize(int ncount) 
 synchronized  void updateMarksForInsert(int offset,
    int length) 
 synchronized  void updateMarksForRemove(int offset,
    int length) 
 protected  void updateUndoPositions(Vector positions) 
    Resets the location for all the UndoPosRef instances in positions.

    This is meant for internal usage, and is generally not of interest to subclasses.