Interface CDOBranchManager

  • All Superinterfaces:
    All Known Subinterfaces:

    public interface CDOBranchManager
    extends org.eclipse.net4j.util.event.INotifier
    Manages a tree of branches and notifies about changes in this branch tree.

    The branch tree is represented by a main branch, which, like all sub branches, offers the major part of the branching functionality. A branch manager provides additional methods to find branches by their unique integer ID or by their fully qualified path name, as well as asynchronous bulk queries.

    A branch manager can fire the following events:

    Branch managers are usually associated with the following entities:

    • org.eclipse.emf.cdo.session.CDOSession
    • org.eclipse.emf.cdo.server.IRepository
    Eike Stepper
    No Implement
    This interface is not intended to be implemented by clients.
    No Extend
    This interface is not intended to be extended by clients.
    • Method Detail

      • getRepository

        CDOCommonRepository getRepository()
        Returns the repository this branch manager is associated with.
      • getMainBranch

        CDOBranch getMainBranch()
        Returns the main branch of the branch tree managed by this branch manager.

        The main branch has the fixed name "MAIN" and the fixed ID 0 (zero).

      • getBranch

        CDOBranch getBranch​(int branchID)
        Returns the branch with the given unique integer ID.

        Note that this method never returns null. Due to the lazy loading nature of branch managers this method returns a transparent branch proxy if the branch is not already loaded in the internal branch cache. This can result in unchecked exceptions being thrown from calls to arbitrary branch methods if the ID that the proxy was created with does not exist in the branch tree.

      • getBranch

        CDOBranch getBranch​(java.lang.String path)
        Returns the branch with the given absolute path.
        path - A concatenation of the names of all branches from the main branch to the requested branch, separated by slashes ("/" characters). Example: "MAIN/team1/smith".
      • getBranches

        int getBranches​(int startID,
                        int endID,
                        CDOBranchHandler handler)
        Passes all branches with IDs in the given range to the given branch handler and returns the number of handler invocations.

        This is a blocking call.

      • getBranches

        java.util.LinkedHashSet<CDOBranch> getBranches​(int rootID)
      • getTag

        CDOBranchTag getTag​(java.lang.String name)