Interface IResourceVariant

  • All Known Implementing Classes:
    CachedResourceVariant

    public interface IResourceVariant
    This interface is used by SyncInfo instances to provide access to the base and remote resources that correspond to a local resource.
    Since:
    3.0
    See Also:
    SyncInfo
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      byte[] asBytes()
      Return an array of bytes that can be used to uniquely identify this resource variant when compared to other resource variants and could also potentially be used to recreate a resource variant handle.
      boolean equals​(Object object)
      Returns whether the remote resource is equal to the provided object.
      String getContentIdentifier()
      Return a content identifier that is used to differentiate versions or revisions of the same resource.
      String getName()
      Answers the name of the remote resource.
      IStorage getStorage​(IProgressMonitor monitor)
      Return an instance of IStorage or null if the remote resource does not have contents (i.e. is a folder).
      boolean isContainer()
      Answers if the remote resource may have children.
    • Method Detail

      • getName

        String getName()
        Answers the name of the remote resource. The name may be displayed to the user.
        Returns:
        name of the resource variant.
      • isContainer

        boolean isContainer()
        Answers if the remote resource may have children.
        Returns:
        true if the remote resource may have children and false otherwise.
      • getStorage

        IStorage getStorage​(IProgressMonitor monitor)
                     throws TeamException
        Return an instance of IStorage or null if the remote resource does not have contents (i.e. is a folder). Since the ISorage#getContents() method does not accept an IProgressMonitor, this method must ensure that the contents access by the resulting IStorage is cached locally (hence the IProgressMonitor argument to this method). Implementations of this method should ensure that the resulting IStorage is accessing locally cached contents and is not contacting the server.

        The returned storage object may be an instance of (@link org.eclipse.core.resources.IEncodedStorage} in which case clients can determine the character encoding of the contents.

        Parameters:
        monitor - a progress monitor
        Returns:
        an IStorage that provides access to the contents of the remote resource or null if the remote resource is a container.
        Throws:
        TeamException
      • getContentIdentifier

        String getContentIdentifier()
        Return a content identifier that is used to differentiate versions or revisions of the same resource.
        Returns:
        a String that identifies the version of the subscriber resource
      • asBytes

        byte[] asBytes()
        Return an array of bytes that can be used to uniquely identify this resource variant when compared to other resource variants and could also potentially be used to recreate a resource variant handle.
        Returns:
        the bytes that uniquely identify this resource variant
      • equals

        boolean equals​(Object object)
        Returns whether the remote resource is equal to the provided object.
        Overrides:
        equals in class Object
        Parameters:
        object - the object to be compared
        Returns:
        whether the object is equal to the remote resource