org.eclipse.handly.model.impl.support

## Interface IElementDeltaBuilder

- All Known Implementing Classes:
    ElementDelta.Builder

      public interface IElementDeltaBuilder

  Builds an `IElementDelta` tree based on elementary changes.

  Note that, despite having a dependency on `IResourceDelta` and `IMarkerDelta`, this interface can be used even when `org.eclipse.core.resources` bundle is not available. This is based on the "outward impression" of late resolution of symbolic references a JVM must provide according to the JVMS.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default IElementDeltaBuilder` | `added(IElement element)` Has the same effect as `added(element, 0)`.
    `IElementDeltaBuilder` | `added(IElement element, long flags)` Informs this builder that an element has been added.
    `IElementDeltaBuilder` | `addResourceDelta(IElement element, org.eclipse.core.resources.IResourceDelta resourceDelta)` Informs this builder about changes to children of the given element's corresponding resource that cannot be described in terms of element deltas.
    `IElementDeltaBuilder` | `changed(IElement element, long flags)` Informs this builder that an element has been changed.
    `IElementDelta` | `getDelta()` Returns the root of the built delta tree.
    `IElementDeltaBuilder` | `markersChanged(IElement element, org.eclipse.core.resources.IMarkerDelta[] markerDeltas)` Informs this builder about changes to markers on the given element's corresponding resource.
    `IElementDeltaBuilder` | `movedFrom(IElement movedFromElement, IElement movedToElement)` Informs this builder that an element has been removed as it has moved to a new location.
    `IElementDeltaBuilder` | `movedTo(IElement movedToElement, IElement movedFromElement)` Informs this builder that an element has been added as it has moved from an old location.
    `default IElementDeltaBuilder` | `removed(IElement element)` Has the same effect as `removed(element, 0)`.
    `IElementDeltaBuilder` | `removed(IElement element, long flags)` Informs this builder that an element has been removed.

- - ### Method Detail

    - #### added

          default IElementDeltaBuilder added(IElement element)

      Has the same effect as `added(element, 0)`.
      Parameters:
        `element` - the added element (not `null`)
      Returns:
        this builder
      See Also:
        `added(IElement, long)`

    - #### added

          IElementDeltaBuilder added(IElement element,
                                     long flags)

      Informs this builder that an element has been added.
      Parameters:
        `element` - the added element (not `null`)
        `flags` - delta flags
      Returns:
        this builder

    - #### removed

          default IElementDeltaBuilder removed(IElement element)

      Has the same effect as `removed(element, 0)`.
      Parameters:
        `element` - the removed element (not `null`)
      Returns:
        this builder
      See Also:
        `removed(IElement, long)`

    - #### removed

          IElementDeltaBuilder removed(IElement element,
                                       long flags)

      Informs this builder that an element has been removed.
      Parameters:
        `element` - the removed element (not `null`)
        `flags` - delta flags
      Returns:
        this builder

    - #### changed

          IElementDeltaBuilder changed(IElement element,
                                       long flags)

      Informs this builder that an element has been changed.
      Parameters:
        `element` - the changed element (not `null`)
        `flags` - delta flags
      Returns:
        this builder

    - #### movedFrom

          IElementDeltaBuilder movedFrom(IElement movedFromElement,
                                         IElement movedToElement)

      Informs this builder that an element has been removed as it has moved to a new location.
      Parameters:
        `movedFromElement` - the element before it was moved to its current location (not `null`)
        `movedToElement` - the element in its new location (not `null`)
      Returns:
        this builder

    - #### movedTo

          IElementDeltaBuilder movedTo(IElement movedToElement,
                                       IElement movedFromElement)

      Informs this builder that an element has been added as it has moved from an old location.
      Parameters:
        `movedToElement` - the element in its new location (not `null`)
        `movedFromElement` - the element before it was moved to its current location (not `null`)
      Returns:
        this builder

    - #### markersChanged

          IElementDeltaBuilder markersChanged(IElement element,
                                              org.eclipse.core.resources.IMarkerDelta[] markerDeltas)

      Informs this builder about changes to markers on the given element's corresponding resource.
      Parameters:
        `element` - the element with changed markers (not `null`)
        `markerDeltas` - the marker deltas for the element (not `null`, not empty)
      Returns:
        this builder

    - #### addResourceDelta

          IElementDeltaBuilder addResourceDelta(IElement element,
                                                org.eclipse.core.resources.IResourceDelta resourceDelta)

      Informs this builder about changes to children of the given element's corresponding resource that cannot be described in terms of element deltas.
      Parameters:
        `element` - the element with a resource change (not `null`)
        `resourceDelta` - the resource delta for the element (not `null`)
      Returns:
        this builder

    - #### getDelta

          IElementDelta getDelta()

      Returns the root of the built delta tree. The delta tree describes the net result of all changes reported to this builder up to now. There is no requirement for the returned delta object to reflect subsequent changes reported to this builder; a new instance may be returned each time this method is invoked.
      Returns:
        the root of the built delta tree, or `null` if none

Copyright (c) 2014, 2020 1C-Soft LLC and others. Made available under the Eclipse Public License 2.0