Class 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:
    IRefactoringHistoryService, RefactoringHistory
    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Detail

      • RefactoringDescriptorProxy

        public RefactoringDescriptorProxy()
    • Method Detail

      • 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