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 int` | `CREATE_UNDO` | Flag indicating that applying a change to a buffer is supposed to create a corresponding undo change.
    `static int` | `NONE` | Flag indicating that neither `CREATE_UNDO` nor `UPDATE_REGIONS` is set.
    `static 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

    All Methods Instance Methods Abstract Methods
    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 Detail

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

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