org.eclipse.emf.cdo.common.branch
Interface CDOBranch

All Superinterfaces:
Comparable<CDOBranch>, IContainer<CDOBranch>, INotifier
All Known Subinterfaces:
InternalCDOBranch

public interface CDOBranch
extends IContainer<CDOBranch>, Comparable<CDOBranch>

Represents a stream of changes that is isolated from other streams of changes.

A branch starts at a fixed base point and ends at a floating head point. Between these two points there can be a number of other branch points:

Since:
3.0
No Implement
This interface is not intended to be implemented by clients.
No Extend
This interface is not intended to be extended by clients.

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
IContainer.Modifiable<E>
 
Field Summary
static int MAIN_BRANCH_ID
          The fixed ID of the main branch.
static String MAIN_BRANCH_NAME
          The fixed name of the main branch.
static String PATH_SEPARATOR
          The string used to separate the segments of branch paths.
 
Method Summary
 CDOBranch createBranch(String name)
          Creates a sub branch of this branch with the given name, based at the current time.
 CDOBranch createBranch(String name, long timeStamp)
          Creates a sub branch of this branch with the given name, based at the branch point in this branch with the given time stamp.
 CDOBranchPoint getBase()
          Returns the immutable base branch point of this branch, the point in the parent branch that marks the creation of this branch.
 CDOBranchPoint[] getBasePath()
          Returns an array of the base branch points starting from the base of the main branch down to and including the base of this branch.
 CDOBranch getBranch(String path)
          Returns the sub branch of this branch with the given relative path, or null if no sub branch with this path exists in this branch.
 CDOBranch[] getBranches()
          Returns an array of the sub branches of this branch, never null.
 CDOBranchManager getBranchManager()
          Returns the branch manager that manages this branch, never null.
 CDOBranchPoint getHead()
          Returns the floating end point of this branch, a pair of this branch and the fixed special time stamp unspecified.
 int getID()
          Returns the ID of this branch.
 String getName()
          Returns the name of this branch as specified when it was created with createBranch() or MAIN_BRANCH_NAME if this branch is the main branch.
 String getPathName()
          Returns the fully qualified path name of this branch, a concatenation of the names of all branches from the main branch to this branch, separated by slashes ("/" characters).
 CDOBranchPoint getPoint(long timeStamp)
          Returns the branch point in this branch with the given time stamp.
 CDOBranchVersion getVersion(int version)
          Returns the branch version in this branch with the given version number.
 boolean isLocal()
          Returns true if this branch is a local branch, false otherwise.
 boolean isMainBranch()
          Returns true if this branch is the main branch, false otherwise.
 
Methods inherited from interface org.eclipse.net4j.util.container.IContainer
getElements, isEmpty
 
Methods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

MAIN_BRANCH_ID

static final int MAIN_BRANCH_ID
The fixed ID of the main branch.

See Also:
Constant Field Values

MAIN_BRANCH_NAME

static final String MAIN_BRANCH_NAME
The fixed name of the main branch.

See Also:
Constant Field Values

PATH_SEPARATOR

static final String PATH_SEPARATOR
The string used to separate the segments of branch paths.

See Also:
getPathName(), getBranch(String), CDOBranchManager.getBranch(String), Constant Field Values
Method Detail

isMainBranch

boolean isMainBranch()
Returns true if this branch is the main branch, false otherwise.


isLocal

boolean isLocal()
Returns true if this branch is a local branch, false otherwise.

Local branches are created on the fly when committing to a clone repository while it is in offline state and they do not participate in repository replication. They can not be created manually and they have negative IDs.


getID

int getID()
Returns the ID of this branch.

The main branch has the fixed ID 0 (zero), Local branches have negative IDs and normal branches have positive IDs.


getName

String getName()
Returns the name of this branch as specified when it was created with createBranch() or MAIN_BRANCH_NAME if this branch is the main branch.


getPathName

String getPathName()
Returns the fully qualified path name of this branch, a concatenation of the names of all branches from the main branch to this branch, separated by slashes ("/" characters). Example: "MAIN/team1/smith".


getBasePath

CDOBranchPoint[] getBasePath()
Returns an array of the base branch points starting from the base of the main branch down to and including the base of this branch.


getBase

CDOBranchPoint getBase()
Returns the immutable base branch point of this branch, the point in the parent branch that marks the creation of this branch.

The base of the main branch marks the creation of the repository.

See Also:
getHead(), getPoint(long)

getHead

CDOBranchPoint getHead()
Returns the floating end point of this branch, a pair of this branch and the fixed special time stamp unspecified.

See Also:
getBase(), getPoint(long)

getPoint

CDOBranchPoint getPoint(long timeStamp)
Returns the branch point in this branch with the given time stamp.

This factory method never returns null.

See Also:
getBase(), getHead(), getVersion(int)

getVersion

CDOBranchVersion getVersion(int version)
Returns the branch version in this branch with the given version number.

This factory method never returns null.

See Also:
getPoint(long)

getBranchManager

CDOBranchManager getBranchManager()
Returns the branch manager that manages this branch, never null.


getBranches

CDOBranch[] getBranches()
Returns an array of the sub branches of this branch, never null.


getBranch

CDOBranch getBranch(String path)
Returns the sub branch of this branch with the given relative path, or null if no sub branch with this path exists in this branch.

The path name is the concatenation of the names of all branches from a direct sub branch of this branch, separated by slashes ("/" characters). Example: "team1/smith".


createBranch

CDOBranch createBranch(String name,
                       long timeStamp)
Creates a sub branch of this branch with the given name, based at the branch point in this branch with the given time stamp.

Parameters:
name - The name of the sub branch to be created. It must not contain the path separator character (slash).
timeStamp - The time stamp in this branch that the sub branch to be created is supposed to be based at. It must not be before the base time stamp of this branch and it must be different from the fixed special time stamp unspecified
See Also:
createBranch(String)

createBranch

CDOBranch createBranch(String name)
Creates a sub branch of this branch with the given name, based at the current time.



Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.