Interface IResourceChangeDescriptionFactory


public interface IResourceChangeDescriptionFactory
This factory is used to build a resource delta that represents a proposed change that can then be passed to the ResourceChangeValidator.validateChange(IResourceDelta, IProgressMonitor) method in order to validate the change with any model providers stored in those resources. The deltas created by calls to the methods of this interface will be the same as those generated by the workspace if the proposed operations were performed, except an additional IResourceDelta.DELETE_CONTENT_PROPOSED flag can indicate if the change is going to delete resources not only from the workspace model but also physically, so it cannot be undone.

This factory does not validate that the proposed operation is valid given the current state of the resources and any other proposed changes. It only records the delta that would result.

Since:
3.2
See Also:
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    change(IFile file)
    Record a delta that represents a content change for the given file.
    void
    close(IProject project)
    Record the set of deltas representing the closed of a project.
    void
    copy(IResource resource, IPath destination)
    Record the set of deltas representing a copy of the given resource to the given workspace path.
    void
    create(IResource resource)
    Record a delta that represents a resource being created.
    void
    delete(IProject project, boolean deleteContent)
    Record the set of deltas representing a deletion of the given project.
    void
    delete(IResource resource)
    Record the set of deltas representing a deletion of the given resource.
    Return the proposed delta that has been accumulated by this factory.
    void
    move(IResource resource, IPath destination)
    Record the set of deltas representing a move of the given resource to the given workspace path.
  • Method Details

    • change

      void change(IFile file)
      Record a delta that represents a content change for the given file.
      Parameters:
      file - the file whose contents will be changed
    • close

      void close(IProject project)
      Record the set of deltas representing the closed of a project.
      Parameters:
      project - the project that will be closed
    • copy

      void copy(IResource resource, IPath destination)
      Record the set of deltas representing a copy of the given resource to the given workspace path.
      Parameters:
      resource - the resource that will be copied
      destination - the full workspace path of the destination the resource is being copied to
    • create

      void create(IResource resource)
      Record a delta that represents a resource being created.
      Parameters:
      resource - the resource that is created
    • delete

      void delete(IResource resource)
      Record the set of deltas representing a deletion of the given resource.
      Parameters:
      resource - the resource that will be deleted
    • delete

      void delete(IProject project, boolean deleteContent)
      Record the set of deltas representing a deletion of the given project.
      Parameters:
      project - the project that will be deleted
      deleteContent - true if the project content on the disk should be deleted. The content delete is not undoable.
      Since:
      3.16
      See Also:
    • getDelta

      IResourceDelta getDelta()
      Return the proposed delta that has been accumulated by this factory.
      Returns:
      the proposed delta that has been accumulated by this factory
    • move

      void move(IResource resource, IPath destination)
      Record the set of deltas representing a move of the given resource to the given workspace path. Note that this API is used to describe a resource being moved to another path in the workspace, rather than a move in the file system.
      Parameters:
      resource - the resource that will be moved
      destination - the full workspace path of the destination the resource is being moved to