# Class: com.pnfsoftware.jeb.core.output.text.impl.AbstractTextDocument
- Super class: `com.pnfsoftware.jeb.util.events.EventSource`
- Super interfaces: `com.pnfsoftware.jeb.core.output.text.ITextDocument`

A skeleton implementation of a text document. In order to minimize code breakage on API changes,  it is recommended plugins extend this class instead of implements [ITextDocument](com.pnfsoftware.jeb.core.output.text.ITextDocument.md) from  scratch.  

  The first anchor is 0. By default, the addressing scheme mirrors document coordinates:    

```

 coordinates: (anchor, line, column) <-\> address: "a,y,x"
 
```

## Constructor: AbstractTextDocument (no-arg)


## Final Method: addressToCoordinates
- parameter: `address`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.output.text.ICoordinates`


## Method: addressToCoordinates
- parameter: `address`, type: `java.lang.String`
- parameter: `precision`, type: `com.pnfsoftware.jeb.core.output.CoordinatesConversionPrecision`
- return type: `com.pnfsoftware.jeb.core.output.text.ICoordinates`

Description: Precision is not used \- Use an exact address

## Final Method: coordinatesToAddress
- parameter: `coordinates`, type: `com.pnfsoftware.jeb.core.output.text.ICoordinates`
- return type: `java.lang.String`


## Method: coordinatesToAddress
- parameter: `coordinates`, type: `com.pnfsoftware.jeb.core.output.text.ICoordinates`
- parameter: `precision`, type: `com.pnfsoftware.jeb.core.output.AddressConversionPrecision`
- return type: `java.lang.String`


## Method: dispose

Description: The default implementation does nothing.

## Method: format
- return type: `java.lang.String`


## Method: getDocumentPart
- parameter: `anchorId`, type: `long`
- parameter: `linesAfter`, type: `int`
- return type: `com.pnfsoftware.jeb.core.output.text.ITextDocumentPart`


## Method: getDocumentPart2
- parameter: `anchorBegin`, type: `long`
- parameter: `anchorEnd`, type: `long`
- return type: `com.pnfsoftware.jeb.core.output.text.ITextDocumentPart`
- throws: `com.pnfsoftware.jeb.core.exceptions.NotImplementedException`

Description: The default implementation throws.

## Method: getFirstAnchor
- return type: `long`

Description: The default implementation returns 0.

## Method: getInitialAnchor
- return type: `long`

Description: The default implementation returns the first anchor as the initial anchor.

## Method: getPropertyManager
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyManager`

Description: The default implementation returns null.

## Method: toString
- return type: `java.lang.String`


## Protected Method: useDisplayLineNumber
- return type: `boolean`

Description: Specify if [#coordinatesToAddress(ICoordinates, AddressConversionPrecision)](#coordinatesToAddress(ICoordinates, AddressConversionPrecision)) and  [#addressToCoordinates(String, CoordinatesConversionPrecision)](#addressToCoordinates(String, CoordinatesConversionPrecision)) will use the anchor  inner value or should display as a text editor \(where first line is line 1\). Line Delta and  column offset are not modified.

## Protected Method: useLineDelta
- return type: `boolean`

Description: Specify if [#coordinatesToAddress(ICoordinates, AddressConversionPrecision)](#coordinatesToAddress(ICoordinates, AddressConversionPrecision)) and  [#addressToCoordinates(String, CoordinatesConversionPrecision)](#addressToCoordinates(String, CoordinatesConversionPrecision)) will use the line  Delta. Default is true, but implementations can decide to use only one line for an anchor.
return: `true` to encode line deltas in addresses

