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

# Interface InternalCDORevision

All Superinterfaces:
  `CDOBranchAdjustable`, `CDOBranchPoint`, `CDOBranchProvider`, `CDOBranchVersion`, `CDOIDAndVersion`, `CDOIdentifiable`, `CDOReferenceAdjustable`, `CDORevisable`, `CDORevision`, `CDORevisionData`, `CDORevisionKey`, `CDOTimeProvider`, `CDOVersionProvider`

All Known Implementing Classes:
  `AbstractCDORevision`, `BaseCDORevision`, `DelegatingCDORevision`, `DetachedCDORevision`, `PointerCDORevision`, `StubCDORevision`, `SyntheticCDORevision`

public interface InternalCDORevision extends CDORevision, CDORevisionData, CDOReferenceAdjustable, CDOBranchAdjustable
If the meaning of this type isn't clear, there really should be more of a description here...

Since:
  2.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.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`DO_NOT_CREATE_LIST`

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

`INVALID_DATE, UNSPECIFIED_DATE`

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

`UNSPECIFIED_VERSION`

### Fields inherited from interface org.eclipse.emf.cdo.common.revision.CDORevision

`DEPTH_INFINITE, DEPTH_NONE, FIRST_VERSION, MAIN_BRANCH_ID, PERMISSION_PROVIDER, UNCHUNKED`

### Fields inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionData

`NIL`

## Method Summary

Modifier and Type
Method
Description
`void`
`add(EStructuralFeature feature, int index, Object value)`
`void`
`adjustForCommit(CDOBranch branch, long timeStamp)`
`boolean`
`bypassPermissionChecks(boolean on)`
Enables or disables permission checking for this revision.
`void`
`clear(EStructuralFeature feature)`
`EStructuralFeature[]`
`clearValues()`
`InternalCDORevisionDelta`
`compare(CDORevision origin)`
`void`
`convertEObjects(CDOIDProvider oidProvider)`
`InternalCDORevision`
`copy()`
`void`
`freeze()`
`InternalCDOBranch`
`getBranch()`
Returns the branch of this branch version.
`InternalCDOClassInfo`
`getClassInfo()`
`CDOList`
`getList(EStructuralFeature feature)`
Deprecated.
As of 4.7 use either `getListOrNull(EStructuralFeature)` or `getOrCreateList(EStructuralFeature)`.
`CDOList`
`getList(EStructuralFeature feature, int initialCapacity)`
Deprecated.
As of 4.7 use either `getListOrNull(EStructuralFeature)` or `getOrCreateList(EStructuralFeature, int)`.
`CDOList`
`getListOrNull(EStructuralFeature feature)`
`CDOList`
`getOrCreateList(EStructuralFeature feature)`
Same as `getOrCreateList(feature, 0)`.
`CDOList`
`getOrCreateList(EStructuralFeature feature, int initialCapacity)`
Returns the list that represents the passed feature, possibly creates it if needed.
`InternalCDORevision`
`getProperRevision()`
`String`
`getResourceNodeName()`
`InternalCDORevision`
`getRevisionForID(CDOID id)`
`Object`
`getValue(EStructuralFeature feature)`
Should never return `CDORevisionData.NIL`
`boolean`
`isFrozen()`
`boolean`
`isListPreserving()`
`boolean`
`isUnchunked()`
`Object`
`move(EStructuralFeature feature, int targetIndex, int sourceIndex)`
`void`
`read(CDODataInput in)`
`boolean`
`readValues(CDODataInput in)`
`Object`
`remove(EStructuralFeature feature, int index)`
`Object`
`set(EStructuralFeature feature, int index, Object value)`
`void`
`setBranchPoint(CDOBranchPoint branchPoint)`
`void`
`setContainerID(Object containerID)`
`void`
`setContainingFeatureID(int containingFeatureID)`
`void`
`setID(CDOID id)`
`void`
`setList(EStructuralFeature feature, InternalCDOList list)`
`void`
`setListPreserving()`
The default behavior of a revision for calls to the `clear(EStructuralFeature)` and `unset(EStructuralFeature)` methods is to set the feature's value to null (discarding the value itself, a List).
`void`
`setPermission(CDOPermission permission)`
`void`
`setResourceID(CDOID resourceID)`
`void`
`setRevised(long revised)`
`void`
`setUnchunked()`
`Object`
`setValue(EStructuralFeature feature, Object value)`
`void`
`setVersion(int version)`
`void`
`unset(EStructuralFeature feature)`
`void`
`write(CDODataOutput out, int referenceChunk)`
`void`
`write(CDODataOutput out, int referenceChunk, CDOBranchPoint securityContext)`
`void`
`writeValues(CDODataOutput out, int referenceChunk)`

### Methods inherited from interface org.eclipse.emf.cdo.spi.common.branch.CDOBranchAdjustable

`adjustBranches`

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

`getTimeStamp`

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

`getVersion`

### Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDOIDAndVersion

`getVersion`

### Methods inherited from interface org.eclipse.emf.cdo.common.id.CDOIdentifiable

`getID`

### Methods inherited from interface org.eclipse.emf.cdo.spi.common.revision.CDOReferenceAdjustable

`adjustReferences`

### Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisable

`getRevised`

### Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevision

`data, getEClass, getPermission, isHistorical, isReadable, isResource, isResourceFolder, isResourceNode, isValid, isValid, isWritable, merge`

### Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionData

`accept, accept, accept, contains, get, getContainerID, getContainingFeatureID, getResourceID, hashCode, indexOf, isEmpty, lastIndexOf, revision, size, toArray, toArray`

## Field Details

### DO_NOT_CREATE_LIST

static final int DO_NOT_CREATE_LIST

Since:
  4.7
See Also:
  - Constant Field Values

## Method Details

### getClassInfo

InternalCDOClassInfo getClassInfo()

Specified by:
  `getClassInfo` in interface `CDORevision`
Since:
  4.2

### getBranch

InternalCDOBranch getBranch()
Description copied from interface: `CDOBranchVersion`
Returns the branch of this branch version.

Specified by:
  `getBranch` in interface `CDOBranchPoint`
Specified by:
  `getBranch` in interface `CDOBranchProvider`
Specified by:
  `getBranch` in interface `CDOBranchVersion`
Since:
  4.2

### getRevisionForID

InternalCDORevision getRevisionForID(CDOID id)

Since:
  4.2

### getProperRevision

InternalCDORevision getProperRevision()

Since:
  4.2

### setID

void setID(CDOID id)

### setVersion

void setVersion(int version)

### setBranchPoint

void setBranchPoint(CDOBranchPoint branchPoint)

Since:
  3.0

### setRevised

void setRevised(long revised)

### setResourceID

void setResourceID(CDOID resourceID)

### setContainerID

void setContainerID(Object containerID)

### setContainingFeatureID

void setContainingFeatureID(int containingFeatureID)

### adjustForCommit

void adjustForCommit(CDOBranch branch, long timeStamp)

Since:
  3.0

### add

void add(EStructuralFeature feature, int index, Object value)

### clear

void clear(EStructuralFeature feature)

### move

Object move(EStructuralFeature feature, int targetIndex, int sourceIndex)

### remove

Object remove(EStructuralFeature feature, int index)

### set

Object set(EStructuralFeature feature, int index, Object value)

### unset

void unset(EStructuralFeature feature)

### getValue

Object getValue(EStructuralFeature feature)
Should never return `CDORevisionData.NIL`

### setValue

Object setValue(EStructuralFeature feature, Object value)

### setList

void setList(EStructuralFeature feature, InternalCDOList list)

### getList

@Deprecated CDOList getList(EStructuralFeature feature)
Deprecated.
As of 4.7 use either `getListOrNull(EStructuralFeature)` or `getOrCreateList(EStructuralFeature)`.

### getList

@Deprecated CDOList getList(EStructuralFeature feature, int initialCapacity)
Deprecated.
As of 4.7 use either `getListOrNull(EStructuralFeature)` or `getOrCreateList(EStructuralFeature, int)`.

### getListOrNull

CDOList getListOrNull(EStructuralFeature feature)

Since:
  4.7

### getOrCreateList

CDOList getOrCreateList(EStructuralFeature feature)
Same as `getOrCreateList(feature, 0)`.

Warning: Must be used with caution because list creation for an `unsettable` feature implies a transition from UNSET to SET!

Since:
  4.7

### getOrCreateList

CDOList getOrCreateList(EStructuralFeature feature, int initialCapacity)
Returns the list that represents the passed feature, possibly creates it if needed.

Warning: Must be used with caution because list creation for an `unsettable` feature implies a transition from UNSET to SET!

Parameters:
  `initialCapacity` - the initialCapacity of a new list to be created if this revision has no list so far (its size will always be 0), or -1 to skip list creation and return `null` in this case.
Since:
  4.7
See Also:
  - `DO_NOT_CREATE_LIST`

### read

void read(CDODataInput in) throws IOException

Throws:
  `IOException`
Since:
  3.0

### readValues

boolean readValues(CDODataInput in) throws IOException

Throws:
  `IOException`
Since:
  4.3

### write

void write(CDODataOutput out, int referenceChunk) throws IOException

Throws:
  `IOException`
Since:
  3.0

### write

void write(CDODataOutput out, int referenceChunk, CDOBranchPoint securityContext) throws IOException

Throws:
  `IOException`
Since:
  4.1

### writeValues

void writeValues(CDODataOutput out, int referenceChunk) throws IOException

Throws:
  `IOException`
Since:
  4.3

### convertEObjects

void convertEObjects(CDOIDProvider oidProvider)

Since:
  3.0

### compare

InternalCDORevisionDelta compare(CDORevision origin)

Specified by:
  `compare` in interface `CDORevision`
Since:
  3.0

### copy

InternalCDORevision copy()

Specified by:
  `copy` in interface `CDORevision`
Since:
  3.0

### clearValues

EStructuralFeature[] clearValues()

Since:
  4.2

### getResourceNodeName

String getResourceNodeName()

Since:
  4.3

### setPermission

void setPermission(CDOPermission permission)

Since:
  4.1

### bypassPermissionChecks

boolean bypassPermissionChecks(boolean on)
Enables or disables permission checking for this revision.

This method is used on the client side if the framework changes the revision on another user's behalf, e.g., during invalidation or general revision copying. It's safe to offer this method on the client side because the server is always the permission checking authority (during load or commit).

Since:
  4.3

### isListPreserving

boolean isListPreserving()

Since:
  4.3

### setListPreserving

void setListPreserving()
The default behavior of a revision for calls to the `clear(EStructuralFeature)` and `unset(EStructuralFeature)` methods is to set the feature's value to null (discarding the value itself, a List). By calling this `setListPreserving()` method the default behavior is changed; instead of setting the feature's value to null, the `List.clear()` method is called on the feature's list instance.

Since:
  4.3

### freeze

void freeze()

Since:
  4.0

### isFrozen

boolean isFrozen()

Since:
  4.2

### isUnchunked

boolean isUnchunked()

Since:
  4.1

### setUnchunked

void setUnchunked()

Since:
  4.1