public class MemoryNodeStore extends Object implements NodeStore, Observable
Constructor and Description |
---|
MemoryNodeStore() |
MemoryNodeStore(NodeState state) |
Modifier and Type | Method and Description |
---|---|
Closeable |
addObserver(Observer observer)
Register a new
Observer . |
String |
checkpoint(long lifetime)
Creates a new checkpoint of the latest root of the tree.
|
String |
checkpoint(long lifetime,
Map<String,String> properties)
Creates a new checkpoint of the latest root of the tree.
|
Map<String,String> |
checkpointInfo(String checkpoint)
Retrieve the properties associated with a checkpoint.
|
ArrayBasedBlob |
createBlob(InputStream inputStream)
Create a
Blob from the given input stream. |
Blob |
getBlob(String reference)
Get a blob by its reference.
|
NodeState |
getRoot()
Returns the latest state of the tree.
|
Set<String> |
listCheckpoints()
test purpose only!
|
NodeState |
merge(NodeBuilder builder,
CommitHook commitHook,
CommitInfo info)
This implementation is equal to first rebasing the builder and then applying it to a
new branch and immediately merging it back.
|
NodeState |
rebase(NodeBuilder builder)
This implementation is equal to applying the differences between the builders base state
and its head state to a fresh builder on the stores root state using
ConflictAnnotatingRebaseDiff for resolving
conflicts. |
boolean |
release(String checkpoint)
Releases the provided checkpoint.
|
NodeState |
reset(NodeBuilder builder)
This implementation is equal resetting the builder to the root of the store and returning
the resulting node state from the builder.
|
NodeState |
retrieve(String checkpoint)
Retrieves the root node from a previously created repository checkpoint.
|
String |
toString()
Returns a string representation the head state of this node store.
|
public MemoryNodeStore(NodeState state)
public MemoryNodeStore()
public String toString()
public Closeable addObserver(Observer observer)
Observable
Observer
. Clients need to call Closeable.close()
to stop getting notifications on the registered observer and to free up any resources
associated with the registration.addObserver
in interface Observable
Closeable
instance.public NodeState getRoot()
NodeStore
public NodeState merge(NodeBuilder builder, CommitHook commitHook, CommitInfo info) throws CommitFailedException
merge
in interface NodeStore
builder
- the builder whose changes to applycommitHook
- the commit hook to apply while merging changesinfo
- commit info associated with this merge operationCommitFailedException
IllegalArgumentException
- if the builder is not acquired from a root state of
this storepublic NodeState rebase(NodeBuilder builder)
ConflictAnnotatingRebaseDiff
for resolving
conflicts.rebase
in interface NodeStore
builder
- the builder to rebaseIllegalArgumentException
- if the builder is not acquired from a root state of
this storepublic NodeState reset(NodeBuilder builder)
reset
in interface NodeStore
builder
- the builder to resetIllegalArgumentException
- if the builder is not acquired from a root state of
this storepublic ArrayBasedBlob createBlob(InputStream inputStream) throws IOException
NodeStore
Blob
from the given input stream. The input stream
is closed after this method returns.createBlob
in interface NodeStore
inputStream
- The input stream for the Blob
ArrayBasedBlob
.IOException
- If an error occurs while reading from the streampublic Blob getBlob(String reference)
NodeStore
getBlob
in interface NodeStore
reference
- reference to the blobnull
if the reference does not resolve to a blob.Blob.getReference()
public String checkpoint(long lifetime, Map<String,String> properties)
NodeStore
The properties
passed to this methods are associated with the
checkpoint and can be retrieved through the NodeStore.checkpointInfo(String)
method. Its semantics is entirely application specific.
checkpoint
in interface NodeStore
lifetime
- time (in milliseconds, > 0) that the checkpoint
should remain availableproperties
- properties to associate with the checkpointpublic String checkpoint(long lifetime)
NodeStore
This method is a shortcut for NodeStore.checkpoint(long, Map)
passing
an empty map for its 2nd argument.
checkpoint
in interface NodeStore
lifetime
- time (in milliseconds, > 0) that the checkpoint
should remain availablepublic Map<String,String> checkpointInfo(String checkpoint)
NodeStore
checkpointInfo
in interface NodeStore
checkpoint
- string reference of a checkpointcheckpoint
or an empty map when there is no such
checkpoint.public NodeState retrieve(String checkpoint)
NodeStore
public boolean release(String checkpoint)
NodeStore
true
."Copyright © 2006 - 2015 Adobe Systems Incorporated. All Rights Reserved"