# Class: com.pnfsoftware.jeb.core.output.text.impl.AbstractTextDocument

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](ITextDocument) 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


## 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

## 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`

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

