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

# Interface InternalCDOBranchManager.BranchLoader

All Known Subinterfaces:
  `CDOSessionProtocol`, `IDBStoreAccessor`, `ILissomeStoreAccessor`, `IMongoDBStoreAccessor`, `InternalCDOBranchManager.BranchLoader2`, `InternalCDOBranchManager.BranchLoader3`, `InternalCDOBranchManager.BranchLoader4`, `InternalCDOBranchManager.BranchLoader5`, `InternalFailoverParticipant`, `InternalRepository`, `InternalSynchronizableRepository`, `IStoreAccessor`, `IStoreAccessor.NewIDSupport`, `IStoreAccessor.Raw`, `IStoreAccessor.Raw2`, `IStoreAccessor.UnitSupport`

All Known Implementing Classes:
  `LongIDStoreAccessor`, `StoreAccessor`, `StoreAccessorBase`

Enclosing interface:
  `InternalCDOBranchManager`

public static interface InternalCDOBranchManager.BranchLoader
If the meaning of this type isn't clear, there really should be more of a description here...

Since:
  3.0
Author:
  Eike Stepper

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static final class`
`InternalCDOBranchManager.BranchLoader.BranchInfo`
If the meaning of this type isn't clear, there really should be more of a description here...
`static final class`
`InternalCDOBranchManager.BranchLoader.SubBranchInfo`
If the meaning of this type isn't clear, there really should be more of a description here...

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`NEW_BRANCH`
Passed as the branchID in `createBranch(int, BranchInfo)` causes a new non-local branch to be created.
`static final int`
`NEW_LOCAL_BRANCH`
Passed as the branchID in `createBranch(int, BranchInfo)` causes a new local branch to be created.

## Method Summary

Modifier and Type
Method
Description
`org.eclipse.net4j.util.collection.Pair<Integer,Long>`
`createBranch(int branchID, InternalCDOBranchManager.BranchLoader.BranchInfo branchInfo)`
Creates a new branch with the given id and branch info.
`InternalCDOBranchManager.BranchLoader.BranchInfo`
`loadBranch(int branchID)`
`int`
`loadBranches(int startID, int endID, CDOBranchHandler branchHandler)`
`InternalCDOBranchManager.BranchLoader.SubBranchInfo[]`
`loadSubBranches(int branchID)`

## Field Details

### NEW_BRANCH

static final int NEW_BRANCH
Passed as the branchID in `createBranch(int, BranchInfo)` causes a new non-local branch to be created.

See Also:
  - Constant Field Values

### NEW_LOCAL_BRANCH

static final int NEW_LOCAL_BRANCH
Passed as the branchID in `createBranch(int, BranchInfo)` causes a new local branch to be created.

See Also:
  - Constant Field Values

## Method Details

### createBranch

org.eclipse.net4j.util.collection.Pair<Integer,Long> createBranch(int branchID, InternalCDOBranchManager.BranchLoader.BranchInfo branchInfo)
Creates a new branch with the given id and branch info. If the id is equal to `NEW_BRANCH` the implementor of this method will determine a new positive unique branch id. If the id is equal to `NEW_LOCAL_BRANCH` the implementor of this method will determine a new negative unique branch id, so that the new branch becomes a local branch. In either case the used branch id is returned to the caller.

Since:
  4.0

### loadBranch

InternalCDOBranchManager.BranchLoader.BranchInfo loadBranch(int branchID)

### loadSubBranches

InternalCDOBranchManager.BranchLoader.SubBranchInfo[] loadSubBranches(int branchID)

### loadBranches

int loadBranches(int startID, int endID, CDOBranchHandler branchHandler)

Parameters:
  `startID` - the `id` of the first branch to load.
  `endID` - the `id` of the last branch to load, or 0 (zero) to load all branches after and including the first branch.