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

## Interface InternalCDOBranch

- All Superinterfaces:
    `CDOBranch`, `CDOBranchPoint`, `CDOBranchProvider`, `CDONameProvider`, `CDOTimeProvider`, `java.lang.Comparable<CDOBranch>`, `IAdaptable`, `org.eclipse.net4j.util.container.IContainer<CDOBranch>`, `org.eclipse.net4j.util.event.INotifier`

      public interface InternalCDOBranch
      extends CDOBranch

  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/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

      `org.eclipse.net4j.util.container.IContainer.Modifiable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.Object>`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

      `org.eclipse.net4j.util.event.INotifier.INotifier2`

  - ### Field Summary

    - ### Fields inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranch

      `MAIN_BRANCH_ID, MAIN_BRANCH_NAME, PATH_SEPARATOR`

    - ### Fields inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint

      `INVALID_DATE, UNSPECIFIED_DATE`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addChild​(InternalCDOBranch branch)` |
    `void` | `basicSetName​(java.lang.String name)` |
    `InternalCDOBranch` | `createBranch​(java.lang.String name)` | Creates a sub branch of this branch with the given name, `based` at the `current time`.
    `InternalCDOBranch` | `createBranch​(java.lang.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.
    `InternalCDOBranch` | `getBranch​(java.lang.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.
    `InternalCDOBranch[]` | `getBranches()` | Returns an array of the sub branches of this branch, never `null`.
    `InternalCDOBranch[]` | `getBranches​(boolean loadOnDemand)` |
    `InternalCDOBranchManager.BranchLoader.BranchInfo` | `getBranchInfo()` |
    `InternalCDOBranchManager` | `getBranchManager()` | Returns the branch manager that manages this branch, never `null`.
    `boolean` | `isProxy()` |
    `void` | `setBranchInfo​(java.lang.String name, InternalCDOBranch baseBranch, long baseTimeStamp)` |

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

      `getBase, getBasePath, getHead, getID, getName, getPathName, getPoint, getVersion, isLocal, isMainBranch, rename, setName`

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

      `getBranch, getTimeStamp`

    - ### Methods inherited from interface java.lang.Comparable

      `compareTo`

    - ### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

      `getAdapter`

    - ### 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`

- - ### Method Detail

    - #### isProxy

          boolean isProxy()

    - #### getBranchManager

          InternalCDOBranchManager getBranchManager()

      Description copied from interface: `CDOBranch`
      Returns the branch manager that manages this branch, never `null`.
      Specified by:
        `getBranchManager` in interface `CDOBranch`

    - #### getBranches

          InternalCDOBranch[] getBranches()

      Description copied from interface: `CDOBranch`
      Returns an array of the sub branches of this branch, never `null`.
      Specified by:
        `getBranches` in interface `CDOBranch`

    - #### getBranches

          InternalCDOBranch[] getBranches​(boolean loadOnDemand)

      Since:
        4.0

    - #### getBranch

          InternalCDOBranch getBranch​(java.lang.String path)

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

      Specified by:
        `getBranch` in interface `CDOBranch`

    - #### createBranch

          InternalCDOBranch createBranch​(java.lang.String name,
                                         long timeStamp)

      Description copied from interface: `CDOBranch`
      Creates a sub branch of this branch with the given name, `based` at the `branch point` in this branch with the given time stamp.

      Specified by:
        `createBranch` in interface `CDOBranch`
      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:
        `CDOBranch.createBranch(String)`

    - #### createBranch

          InternalCDOBranch createBranch​(java.lang.String name)

      Description copied from interface: `CDOBranch`
      Creates a sub branch of this branch with the given name, `based` at the `current time`.
      Specified by:
        `createBranch` in interface `CDOBranch`

    - #### getBranchInfo

          InternalCDOBranchManager.BranchLoader.BranchInfo getBranchInfo()

    - #### setBranchInfo

          void setBranchInfo​(java.lang.String name,
                             InternalCDOBranch baseBranch,
                             long baseTimeStamp)

    - #### addChild

          void addChild​(InternalCDOBranch branch)

    - #### basicSetName

          void basicSetName​(java.lang.String name)

      Since:
        4.4