org.apache.jackrabbit.mk.persistence
Class InMemPersistence

java.lang.Object
  extended by org.apache.jackrabbit.mk.persistence.InMemPersistence
All Implemented Interfaces:
Closeable, GCPersistence, Persistence

public class InMemPersistence
extends Object
implements GCPersistence


Constructor Summary
InMemPersistence()
           
 
Method Summary
 void close()
           
 void initialize(File homeDir)
           
 boolean markCNEMap(Id id)
          Mark a child node entry map.
 boolean markCommit(Id id)
          Mark a commit.
 boolean markNode(Id id)
          Mark a node.
 ChildNodeEntriesMap readCNEMap(Id id)
           
 StoredCommit readCommit(Id id)
           
 Id readHead()
           
 void readNode(StoredNode node)
          Read a node from storage.
 void replaceCommit(Id id, Commit commit)
          Replace a commit.
 void start()
          Start a GC cycle.
 void sweep()
          Sweep all objects that are not marked and were written before the GC started.
 Id writeCNEMap(ChildNodeEntriesMap map)
           
 void writeCommit(Id id, Commit commit)
          Persist a commit with an id provided by the caller.
 void writeHead(Id id)
           
 Id writeNode(Node node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InMemPersistence

public InMemPersistence()
Method Detail

initialize

public void initialize(File homeDir)
Specified by:
initialize in interface Persistence

readHead

public Id readHead()
Specified by:
readHead in interface Persistence

writeHead

public void writeHead(Id id)
Specified by:
writeHead in interface Persistence

readNode

public void readNode(StoredNode node)
              throws NotFoundException,
                     Exception
Description copied from interface: Persistence
Read a node from storage.

Specified by:
readNode in interface Persistence
Parameters:
node - node to read, with id given in StoredNode.getId()
Throws:
NotFoundException - if no such node is found
Exception - if some other error occurs

writeNode

public Id writeNode(Node node)
             throws Exception
Specified by:
writeNode in interface Persistence
Throws:
Exception

readCommit

public StoredCommit readCommit(Id id)
                        throws NotFoundException,
                               Exception
Specified by:
readCommit in interface Persistence
Throws:
NotFoundException
Exception

writeCommit

public void writeCommit(Id id,
                        Commit commit)
                 throws Exception
Description copied from interface: Persistence
Persist a commit with an id provided by the caller.

Specified by:
writeCommit in interface Persistence
Parameters:
id - commit id
commit - commit
Throws:
Exception - if an error occurs

readCNEMap

public ChildNodeEntriesMap readCNEMap(Id id)
                               throws NotFoundException,
                                      Exception
Specified by:
readCNEMap in interface Persistence
Throws:
NotFoundException
Exception

writeCNEMap

public Id writeCNEMap(ChildNodeEntriesMap map)
               throws Exception
Specified by:
writeCNEMap in interface Persistence
Throws:
Exception

close

public void close()
Specified by:
close in interface Closeable

start

public void start()
Description copied from interface: GCPersistence
Start a GC cycle. All objects written to the persistence in subsequent calls are marked implicitely, i.e. they must be retained on GCPersistence.sweep().

Specified by:
start in interface GCPersistence

markCommit

public boolean markCommit(Id id)
                   throws NotFoundException
Description copied from interface: GCPersistence
Mark a commit.

Specified by:
markCommit in interface GCPersistence
Parameters:
id - commit id
Returns:
true if the commit was not marked before; false otherwise
Throws:
NotFoundException

markNode

public boolean markNode(Id id)
                 throws NotFoundException
Description copied from interface: GCPersistence
Mark a node.

Specified by:
markNode in interface GCPersistence
Parameters:
id - node id
Returns:
true if the node was not marked before; false otherwise
Throws:
NotFoundException

markCNEMap

public boolean markCNEMap(Id id)
                   throws NotFoundException
Description copied from interface: GCPersistence
Mark a child node entry map.

Specified by:
markCNEMap in interface GCPersistence
Parameters:
id - child node entry map id
Returns:
true if the child node entry map was not marked before; false otherwise
Throws:
NotFoundException

replaceCommit

public void replaceCommit(Id id,
                          Commit commit)
                   throws Exception
Description copied from interface: GCPersistence
Replace a commit. Introduced to replace dangling parent commits where a parent commit might be collected.

Specified by:
replaceCommit in interface GCPersistence
Parameters:
id - commit id
Throws:
Exception - if an error occurs

sweep

public void sweep()
Description copied from interface: GCPersistence
Sweep all objects that are not marked and were written before the GC started.

Specified by:
sweep in interface GCPersistence


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.