org.eclipse.emf.cdo.spi.common.branch

## Interface InternalCDOBranchManager

- All Superinterfaces:
    CDOBranchManager, IDeactivateable, ILifecycle, INotifier

      public interface InternalCDOBranchManager
      extends CDOBranchManager, ILifecycle

  If the meaning of this type isn't clear, there really should be more of a description here...
  Since:
    3.0
  Author:
    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.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `InternalCDOBranchManager.BranchLoader` If the meaning of this type isn't clear, there really should be more of a description here...
    `static interface` | `InternalCDOBranchManager.BranchLoader2` If the meaning of this type isn't clear, there really should be more of a description here...
    `static interface` | `InternalCDOBranchManager.BranchLoader3` If the meaning of this type isn't clear, there really should be more of a description here...

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `ILifecycle.DeferrableActivation`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `InternalCDOBranch` | `createBranch(int id, java.lang.String name, InternalCDOBranch baseBranch, long baseTimeStamp)`
    `InternalCDOBranch` | `getBranch(int branchID)` Returns the branch with the given unique integer ID.
    `InternalCDOBranch` | `getBranch(int id, InternalCDOBranchManager.BranchLoader.BranchInfo branchInfo)`
    `InternalCDOBranch` | `getBranch(int id, java.lang.String name, InternalCDOBranch baseBranch, long baseTimeStamp)`
    `InternalCDOBranch` | `getBranch(java.lang.String path)` Returns the branch with the given absolute path.
    `InternalCDOBranchManager.BranchLoader` | `getBranchLoader()`
    `InternalCDOBranch` | `getMainBranch()` Returns the main branch of the branch tree managed by this branch manager.
    `CDOTimeProvider` | `getTimeProvider()`
    `void` | `handleBranchChanged(InternalCDOBranch branch, CDOBranchChangedEvent.ChangeKind changeKind)`
    `void` | `handleBranchCreated(InternalCDOBranch branch)` Deprecated. As of 4.3 use `#handleBranchChanged(InternalCDOBranch, ChangeKind)`.
    `void` | `initMainBranch(boolean local, long timestamp)`
    `void` | `renameBranch(CDOBranch branch, java.lang.String newName)` Deprecated. as of 4.4 use `CDOBranch.setName(String)`.
    `void` | `setBranchLoader(InternalCDOBranchManager.BranchLoader branchLoader)`
    `void` | `setRepository(CDOCommonRepository repository)`
    `void` | `setTimeProvider(CDOTimeProvider timeProvider)` Deprecated. As of 4.2 replaced by `setRepository(CDOCommonRepository)`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchManager

      `getBranches, getRepository`

    - ### Methods inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `activate, deactivate, getLifecycleState, isActive`

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Method Detail

    - #### setRepository

          void setRepository(CDOCommonRepository repository)

      Since:
        4.2

    - #### getBranchLoader

          InternalCDOBranchManager.BranchLoader getBranchLoader()

    - #### setBranchLoader

          void setBranchLoader(InternalCDOBranchManager.BranchLoader branchLoader)

    - #### getTimeProvider

          CDOTimeProvider getTimeProvider()

    - #### setTimeProvider

          @Deprecated
          void setTimeProvider(CDOTimeProvider timeProvider)

      Deprecated. As of 4.2 replaced by `setRepository(CDOCommonRepository)`

    - #### initMainBranch

          void initMainBranch(boolean local,
                              long timestamp)

      Since:
        4.0

    - #### getMainBranch

          InternalCDOBranch getMainBranch()

      Description copied from interface: `CDOBranchManager`
      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).

      Specified by:
        `getMainBranch` in interface `CDOBranchManager`

    - #### getBranch

          InternalCDOBranch getBranch(int branchID)

      Description copied from interface: `CDOBranchManager`
      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.

      Specified by:
        `getBranch` in interface `CDOBranchManager`

    - #### getBranch

          InternalCDOBranch getBranch(int id,
                                      java.lang.String name,
                                      InternalCDOBranch baseBranch,
                                      long baseTimeStamp)

    - #### getBranch

          InternalCDOBranch getBranch(int id,
                                      InternalCDOBranchManager.BranchLoader.BranchInfo branchInfo)

    - #### getBranch

          InternalCDOBranch getBranch(java.lang.String path)

      Description copied from interface: `CDOBranchManager`
      Returns the branch with the given absolute path.
      Specified by:
        `getBranch` in interface `CDOBranchManager`
      Parameters:
        `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".

    - #### createBranch

          InternalCDOBranch createBranch(int id,
                                         java.lang.String name,
                                         InternalCDOBranch baseBranch,
                                         long baseTimeStamp)

    - #### renameBranch

          @Deprecated
          void renameBranch(CDOBranch branch,
                                         java.lang.String newName)

      Deprecated. as of 4.4 use `CDOBranch.setName(String)`.
      Since:
        4.3

    - #### handleBranchCreated

          @Deprecated
          void handleBranchCreated(InternalCDOBranch branch)

      Deprecated. As of 4.3 use `#handleBranchChanged(InternalCDOBranch, ChangeKind)`.

    - #### handleBranchChanged

          void handleBranchChanged(InternalCDOBranch branch,
                                   CDOBranchChangedEvent.ChangeKind changeKind)

      Since:
        4.3

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html