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

## Interface InternalCDOBranch

- All Superinterfaces:
    CDOBranch, CDOBranchPoint, CDOBranchProvider, CDONameProvider, CDOTimeProvider, Comparable<CDOBranch>, IAdaptable, IContainer<CDOBranch>, 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

      `IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

  - ### 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 and Description
    --- | ---
    `void` | `addChild(InternalCDOBranch branch)`
    `void` | `basicSetName(String name)`
    `InternalCDOBranch` | `createBranch(String name)` Creates a sub branch of this branch with the given name, `based` at the `current time`.
    `InternalCDOBranch` | `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.
    `InternalCDOBranch` | `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.
    `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(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 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`

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

      `getAdapter`

- - ### 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(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(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(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(String name,
                             InternalCDOBranch baseBranch,
                             long baseTimeStamp)

    - #### addChild

          void addChild(InternalCDOBranch branch)

    - #### basicSetName

          void basicSetName(String name)

      Since:
        4.4

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