Class RefactoringDescriptorProxy

java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.ltk.core.refactoring.RefactoringDescriptorProxy
All Implemented Interfaces:
Comparable<RefactoringDescriptorProxy>, IAdaptable

public abstract class RefactoringDescriptorProxy extends PlatformObject implements Comparable<RefactoringDescriptorProxy>
Proxy of a refactoring descriptor.

Refactoring descriptors are exposed by the refactoring history service as lightweight proxy objects. Refactoring descriptor proxies have an efficient memory representation and are therefore suited to model huge refactoring histories which may be displayed in the user interface. The refactoring history service may hand out any number of proxies for a given descriptor. Proxies only offer direct access to the time stamp getTimeStamp(), the related project getProject() and description getDescription(). In order to access other information such as arguments and comments, clients have to call requestDescriptor(IProgressMonitor) in order to obtain the actual refactoring descriptor.

Refactoring descriptors are potentially heavy weight objects which should not be held on to. Proxies which are retrieved from external sources (e.g. not from the local refactoring history service) may encapsulate refactoring descriptors and should not be held in memory as well.

All time stamps are measured as the milliseconds since January 1, 1970, 00:00:00 GMT.

Note: this class is not intended to be subclassed by clients.

Since:
3.2
See Also:
Restriction:
This class is not intended to be subclassed by clients.
  • Constructor Details

    • RefactoringDescriptorProxy

      public RefactoringDescriptorProxy()
  • Method Details

    • compareTo

      public int compareTo(RefactoringDescriptorProxy proxy)
      Specified by:
      compareTo in interface Comparable<RefactoringDescriptorProxy>
      Since:
      3.7
    • equals

      public final boolean equals(Object object)
      Overrides:
      equals in class Object
    • getDescription

      public abstract String getDescription()
      Returns a human-readable description of refactoring.
      Returns:
      a description of the refactoring
    • getProject

      public abstract String getProject()
      Returns the name of the associated project.
      Returns:
      the non-empty name of the project, or null
    • getTimeStamp

      public abstract long getTimeStamp()
      Returns the time stamp of this refactoring.
      Returns:
      the time stamp, or -1 if no time information is available
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • requestDescriptor

      public RefactoringDescriptor requestDescriptor(IProgressMonitor monitor)
      Resolves this proxy and returns the associated refactoring descriptor.

      Clients must connect to the refactoring history service first before calling this method.

      Parameters:
      monitor - the progress monitor to use, or null
      Returns:
      the refactoring descriptor, or null