# Class BlockTextSelection

java.lang.Object
org.eclipse.jface.text.TextSelection
org.eclipse.jface.text.BlockTextSelection

All Implemented Interfaces:
  `IBlockTextSelection, IMultiTextSelection, ITextSelection, ISelection`

public class BlockTextSelection extends TextSelection implements IBlockTextSelection
Standard implementation of `IBlockTextSelection`.

Since:
  3.5

## Constructor Summary

Constructors
Constructor
Description
`BlockTextSelection(IDocument document, int startLine, int startColumn, int endLine, int endColumn, int tabWidth)`
Creates a column selection for the given lines and columns.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`int`
`getEndColumn()`
Returns the exclusive column on the end line at which the selection ends.
`int`
`getEndLine()`
Returns the number of the line containing the last character of the selected text.
`IRegion[]`
`getRegions()`
Returns a non-empty array containing the selected text range for each line covered by the selection.
`int`
`getStartColumn()`
Returns the column on the start line at which the selection starts.
`int`
`getStartLine()`
Returns number of the line containing the offset of the selected text.
`String`
`getText()`
Returns the selected text.
`int`
`hashCode()`
`String`
`toString()`

### Methods inherited from class TextSelection

`emptySelection, getDocument, getLength, getOffset, isEmpty`

### Methods inherited from class Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface ISelection

`isEmpty`

### Methods inherited from interface ITextSelection

`getLength, getOffset`

## Constructor Details

### BlockTextSelection

public BlockTextSelection(IDocument document, int startLine, int startColumn, int endLine, int endColumn, int tabWidth)
Creates a column selection for the given lines and columns.

Parameters:
  `document` - the document that this selection refers to
  `startLine` - the start line
  `startColumn` - the possibly virtual start column, measured in characters from the start of `startLine`
  `endLine` - the inclusive end line
  `endColumn` - the exclusive and possibly virtual end column, measured in characters from the start of `endLine`
  `tabWidth` - the tabulator width used to compute the visual offsets from character offsets

## Method Details

### getStartLine

public int getStartLine()
Description copied from interface: `ITextSelection`
Returns number of the line containing the offset of the selected text. If the underlying text has been changed between the creation of this selection object and the call of this method, the value returned might differ from what it would have been at the point of creation.

Specified by:
  `getStartLine` in interface `ITextSelection`
Overrides:
  `getStartLine` in class `TextSelection`
Returns:
  the start line of this selection or -1 if there is no valid line information

### getStartColumn

public int getStartColumn()
Description copied from interface: `IBlockTextSelection`
Returns the column on the start line at which the selection starts. The returned column is a character count measured from the start of the line. It may be larger than the length of the line, in which case it is a virtual offset.

Specified by:
  `getStartColumn` in interface `IBlockTextSelection`
Returns:
  the start column measured from the line start

### getEndLine

public int getEndLine()
Description copied from interface: `ITextSelection`
Returns the number of the line containing the last character of the selected text. If the underlying text has been changed between the creation of this selection object and the call of this method, the value returned might differ from what it would have been at the point of creation.

Specified by:
  `getEndLine` in interface `ITextSelection`
Overrides:
  `getEndLine` in class `TextSelection`
Returns:
  the end line of this selection or -1 if there is no valid line information

### getEndColumn

public int getEndColumn()
Description copied from interface: `IBlockTextSelection`
Returns the exclusive column on the end line at which the selection ends. The returned column is a character count measured from the start of the line. It may be larger than the length of the line, in which case it is a virtual offset.

Specified by:
  `getEndColumn` in interface `IBlockTextSelection`
Returns:
  the end column measured from the line start

### getText

public String getText()
Description copied from interface: `ITextSelection`
Returns the selected text. If the underlying text has been changed between the creation of this selection object and the call of this method, the value returned might differ from what it would have been at the point of creation.

Specified by:
  `getText` in interface `IBlockTextSelection`
Specified by:
  `getText` in interface `ITextSelection`
Overrides:
  `getText` in class `TextSelection`
Returns:
  the selected text or `null` if there is no valid text information
See Also:
  - `ITextSelection.getText()`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `TextSelection`

### equals

public boolean equals(Object obj)

Overrides:
  `equals` in class `TextSelection`

### getRegions

public IRegion[] getRegions()
Description copied from interface: `IMultiTextSelection`
Returns a non-empty array containing the selected text range for each line covered by the selection.

Specified by:
  `getRegions` in interface `IBlockTextSelection`
Specified by:
  `getRegions` in interface `IMultiTextSelection`
Overrides:
  `getRegions` in class `TextSelection`
Returns:
  an array containing a the covered text range for each line covered by the receiver
See Also:
  - `IMultiTextSelection.getRegions()`

### toString

public String toString()

Overrides:
  `toString` in class `TextSelection`
Since:
  3.16