Package org.eclipse.handly.buffer

# Interface IBufferChange

All Known Implementing Classes:
  `BufferChange`, `BufferChangeOperation.UndoChange`

public interface IBufferChange
Describes a text change to be applied to an `IBuffer`.

See Also:
  - `IBuffer.applyChange(IBufferChange, org.eclipse.core.runtime.IProgressMonitor)`
Restriction:
  This interface is not intended to be extended by clients.
Restriction:
  This interface is not intended to be implemented by clients.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `CREATE_UNDO`
  Flag indicating that applying a change to a buffer is supposed to create a corresponding undo change.
  `static final int`
  `NONE`
  Flag indicating that neither `CREATE_UNDO` nor `UPDATE_REGIONS` is set.
  `static final int`
  `UPDATE_REGIONS`
  Flag indicating that edit regions in the change's edit tree will be updated to reflect their positions in the changed buffer.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `contains(org.eclipse.text.edits.TextEdit edit)`
  Tells whether this change contains the given edit.
  `ISnapshot`
  `getBase()`
  Returns the snapshot on which this change's edit tree is based, or `null` if the snapshot is unknown.
  `org.eclipse.text.edits.TextEdit`
  `getEdit()`
  Returns the edit tree associated with this change.
  `SaveMode`
  `getSaveMode()`
  Returns the save mode associated with this change.
  `int`
  `getStyle()`
  Returns the style flags associated with this change.

- ## Field Details

  - ### NONE

    static final int NONE
    Flag indicating that neither `CREATE_UNDO` nor `UPDATE_REGIONS` is set.
    See Also:
      - `getStyle()`
      - Constant Field Values

  - ### CREATE_UNDO

    static final int CREATE_UNDO
    Flag indicating that applying a change to a buffer is supposed to create a corresponding undo change. If not specified, `null` is returned from `IBuffer.applyChange(org.eclipse.handly.buffer.IBufferChange, org.eclipse.core.runtime.IProgressMonitor)` method.
    See Also:
      - `getStyle()`
      - Constant Field Values

  - ### UPDATE_REGIONS

    static final int UPDATE_REGIONS
    Flag indicating that edit regions in the change's edit tree will be updated to reflect their positions in the changed buffer. If not specified, the edit regions will be arbitrary; it is even not guaranteed that the edit tree is still well formed after applying the change.
    See Also:
      - `getStyle()`
      - Constant Field Values

- ## Method Details

  - ### getEdit

    org.eclipse.text.edits.TextEdit getEdit()
    Returns the edit tree associated with this change.
    Returns:
      the change's edit tree (never `null`)

  - ### contains

    boolean contains(org.eclipse.text.edits.TextEdit edit)
    Tells whether this change contains the given edit. Note that, in general, this is orthogonal to whether the change's edit tree contains that edit. The edits that are not contained by the change must not be executed when the change is applied.
    Parameters:
      `edit` - a text edit
    Returns:
      `true` if the change contains the given edit, and `false` otherwise

  - ### getBase

    ISnapshot getBase()
    Returns the snapshot on which this change's edit tree is based, or `null` if the snapshot is unknown.
    Returns:
      the snapshot on which the change is based, or `null` if unknown

  - ### getStyle

    int getStyle()
    Returns the style flags associated with this change. May return `NONE` or any combination of `CREATE_UNDO` and `UPDATE_REGIONS` flags.
    Returns:
      the change's style flags

  - ### getSaveMode

    SaveMode getSaveMode()
    Returns the save mode associated with this change.
    Returns:
      the change's save mode