AbstractDocument.Content (Java SE 14 & JDK 14)
Description: declaration: module: java.desktop, package: javax.swing.text, class: AbstractDocument, interface: Content
Keywords: javax.swing.text.AbstractDocument.Content interface

Module java.desktop
Package javax.swing.text

# Interface AbstractDocument.Content

All Known Implementing Classes:
  `GapContent`, `StringContent`

Enclosing class:
  AbstractDocument

    public static interface AbstractDocument.Content

Interface to describe a sequence of character content that can be edited. Implementations may or may not support a history mechanism which will be reflected by whether or not mutations return an UndoableEdit implementation.

See Also:
  `AbstractDocument`

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Position` | `createPosition​(int offset)` | Creates a position within the content that will track change as the content is mutated.
  `void` | `getChars​(int where, int len, Segment txt)` | Gets a sequence of characters and copies them into a Segment.
  `String` | `getString​(int where, int len)` | Fetches a string of characters contained in the sequence.
  `UndoableEdit` | `insertString​(int where, String str)` | Inserts a string of characters into the sequence.
  `int` | `length()` | Current length of the sequence of character content.
  `UndoableEdit` | `remove​(int where, int nitems)` | Removes some portion of the sequence.

- ## Method Details

  - ### createPosition

    Position createPosition​(int offset) throws BadLocationException
    Creates a position within the content that will track change as the content is mutated.
    Parameters:
      `offset` - the offset in the content >= 0
    Returns:
      a Position
    Throws:
      `BadLocationException` - for an invalid offset

  - ### length

    int length()
    Current length of the sequence of character content.
    Returns:
      the length >= 0

  - ### insertString

    UndoableEdit insertString​(int where, String str) throws BadLocationException
    Inserts a string of characters into the sequence.
    Parameters:
      `where` - offset into the sequence to make the insertion >= 0
      `str` - string to insert
    Returns:
      if the implementation supports a history mechanism, a reference to an `Edit` implementation will be returned, otherwise returns `null`
    Throws:
      `BadLocationException` - thrown if the area covered by the arguments is not contained in the character sequence

  - ### remove

    UndoableEdit remove​(int where, int nitems) throws BadLocationException
    Removes some portion of the sequence.
    Parameters:
      `where` - The offset into the sequence to make the insertion >= 0.
      `nitems` - The number of items in the sequence to remove >= 0.
    Returns:
      If the implementation supports a history mechanism, a reference to an Edit implementation will be returned, otherwise null.
    Throws:
      `BadLocationException` - Thrown if the area covered by the arguments is not contained in the character sequence.

  - ### getString

    String getString​(int where, int len) throws BadLocationException
    Fetches a string of characters contained in the sequence.
    Parameters:
      `where` - Offset into the sequence to fetch >= 0.
      `len` - number of characters to copy >= 0.
    Returns:
      the string
    Throws:
      `BadLocationException` - Thrown if the area covered by the arguments is not contained in the character sequence.

  - ### getChars

    void getChars​(int where, int len, Segment txt) throws BadLocationException
    Gets a sequence of characters and copies them into a Segment.
    Parameters:
      `where` - the starting offset >= 0
      `len` - the number of characters >= 0
      `txt` - the target location to copy into
    Throws:
      `BadLocationException` - Thrown if the area covered by the arguments is not contained in the character sequence.