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.