org.eclipse.emf.emfstore.client
Interface ESProject

All Known Subinterfaces:
ESLocalProject, ESRemoteProject
All Known Implementing Classes:
ESLocalProjectImpl, ESRemoteProjectImpl

public interface ESProject

Common interface for a project in EMFStore. There are two different types of projects, ESLocalProject and ESRemoteProject, representing a locally checked out and a project on the server. This interface groups all attributes and calls which are available on both.

Author:
emueller, wesendon

Method Summary
 void addTag(ESPrimaryVersionSpec versionSpec, ESTagVersionSpec tag, org.eclipse.core.runtime.IProgressMonitor monitor)
           Adds a tag to the specified version of this project on the server.
 void delete(org.eclipse.core.runtime.IProgressMonitor monitor)
           Deletes the project.
 List<ESBranchInfo> getBranches(org.eclipse.core.runtime.IProgressMonitor monitor)
           Returns a list of branches for the current project.
 ESGlobalProjectId getGlobalProjectId()
          Returns the global ID of the project.
 List<ESHistoryInfo> getHistoryInfos(ESHistoryQuery<? extends ESHistoryQuery<?>> query, org.eclipse.core.runtime.IProgressMonitor monitor)
           Retrieves a part of the project's version history from the server based on the given query.
 String getProjectName()
          Returns the project's name.
 void removeTag(ESPrimaryVersionSpec versionSpec, ESTagVersionSpec tag, org.eclipse.core.runtime.IProgressMonitor monitor)
           Removes a tag from the specified version of this project on the server.
 ESPrimaryVersionSpec resolveVersionSpec(ESVersionSpec versionSpec, org.eclipse.core.runtime.IProgressMonitor monitor)
          Resolves a ESVersionSpec to a ESPrimaryVersionSpec by querying the server.
 

Method Detail

getGlobalProjectId

ESGlobalProjectId getGlobalProjectId()
Returns the global ID of the project. This ID is globally unique even among different server and client nodes.

Returns:
the global ID of the project

getProjectName

String getProjectName()
Returns the project's name.

Returns:
the name of the project

delete

void delete(org.eclipse.core.runtime.IProgressMonitor monitor)
            throws IOException,
                   ESException

Deletes the project.

When calling this method on a remote project it is recommended to use the overloaded method which allows to specify an ESUsersession.

Parameters:
monitor - an IProgressMonitor instance that is used to indicate progress while deleting the project
Throws:
IOException - in case an I/O related error occurred while deleting the project
ESException - in case any other error occurred while deleting the project

resolveVersionSpec

ESPrimaryVersionSpec resolveVersionSpec(ESVersionSpec versionSpec,
                                        org.eclipse.core.runtime.IProgressMonitor monitor)
                                        throws ESException
Resolves a ESVersionSpec to a ESPrimaryVersionSpec by querying the server. When calling this method on a remote project it is recommended to use the overloaded method which allows to specify an ESUsersession.

Parameters:
versionSpec - the ESVersionSpec to resolve
monitor - an IProgressMonitor instance that is used to indicate progress while resolving the version
Returns:
the resolved ESPrimaryVersionSpec
Throws:
ESException - in case an error occurs while resolving the given ESVersionSpec

getBranches

List<ESBranchInfo> getBranches(org.eclipse.core.runtime.IProgressMonitor monitor)
                               throws ESException

Returns a list of branches for the current project.

When calling this method on a remote project it is recommended to use the overloaded method which allows to specify an ESUsersession.

Parameters:
monitor - an IProgressMonitor instance that is used to indicate progress while fetching the branch information
Returns:
a list containing information about all branches for the current project
Throws:
ESException - in case an error occurs while retrieving the branch information for the project

getHistoryInfos

List<ESHistoryInfo> getHistoryInfos(ESHistoryQuery<? extends ESHistoryQuery<?>> query,
                                    org.eclipse.core.runtime.IProgressMonitor monitor)
                                    throws ESException

Retrieves a part of the project's version history from the server based on the given query. Use ESHistoryQueryFactory to generate query objects.

Parameters:
query - the ESHistoryQuery to be performed in order to fetch the history information
monitor - an IProgressMonitor instance that is used to indicate progress while fetching the history information
Returns:
a list containing the history information for the given query
Throws:
ESException - in case an error occurs while retrieving the history information

addTag

void addTag(ESPrimaryVersionSpec versionSpec,
            ESTagVersionSpec tag,
            org.eclipse.core.runtime.IProgressMonitor monitor)
            throws ESException

Adds a tag to the specified version of this project on the server.

When calling this method on a remote project it is recommended to use the overloaded method which allows to specify an ESUsersession.

Parameters:
versionSpec - the ESPrimaryVersionSpec that should be tagged
tag - the tag being created
monitor - an IProgressMonitor instance that is used to indicate progress while adding the tag
Throws:
ESException - in case the given tag could not be removed

removeTag

void removeTag(ESPrimaryVersionSpec versionSpec,
               ESTagVersionSpec tag,
               org.eclipse.core.runtime.IProgressMonitor monitor)
               throws ESException

Removes a tag from the specified version of this project on the server.

When calling this method on a remote project it is recommended to use the overloaded method which allows to specify an ESUsersession.

Parameters:
versionSpec - the ESPrimaryVersionSpec identifying the version from which the tag should be removed
tag - the ESTagVersionSpec to be removed
monitor - an IProgressMonitor instance that is used to indicate progress while removing the tag
Throws:
ESException - in case the given tag could not be removed


Copyright © 2015. All Rights Reserved.