|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.directory.server.core.changelog.MemoryChangeLogStore
public class MemoryChangeLogStore
A change log store that keeps it's information in memory.
Constructor Summary | |
---|---|
MemoryChangeLogStore()
|
Method Summary | |
---|---|
void |
destroy()
Save logs, tags and revision on disk, and clean everything in memory |
org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> |
find()
Gets a Cursor over all the ChangeLogEvents within the system since revision 0. |
org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> |
find(long startRevision,
long endRevision)
Finds the ChangeLogEvents that occurred between a revision range inclusive. |
org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> |
findAfter(long revision)
Finds the ChangeLogEvents that occurred after a revision exclusive. |
org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> |
findBefore(long revision)
Gets a Cursor over the ChangeLogEvents that occurred before a revision exclusive. |
long |
getCurrentRevision()
Gets the current revision of the server (a.k.a. |
Tag |
getLatest()
Gets the latest tag if one was at all taken. |
void |
init(DirectoryService service)
Initialize the store. |
ChangeLogEvent |
log(LdapPrincipal principal,
org.apache.directory.shared.ldap.ldif.LdifEntry forward,
org.apache.directory.shared.ldap.ldif.LdifEntry reverse)
Records a change as a forward LDIF, a reverse change to revert the change and the authorized principal triggering the revertable change event. |
ChangeLogEvent |
log(LdapPrincipal principal,
org.apache.directory.shared.ldap.ldif.LdifEntry forward,
java.util.List<org.apache.directory.shared.ldap.ldif.LdifEntry> reverses)
Records a change as a forward LDIF, some reverse changes to revert the change and the authorized principal triggering the revertable change event. |
ChangeLogEvent |
lookup(long revision)
Looks up the ChangeLogEvent for a revision. |
Tag |
removeTag(long revision)
Removes a Tag created for a given revision. |
void |
sync()
Write the changes on disk |
Tag |
tag()
Creates a snapshot of the server at the current revision. |
Tag |
tag(long revision)
Creates a tag for a snapshot of the server in a specific state at a revision. |
Tag |
tag(long revision,
java.lang.String descrition)
Creates a tag with the given description for a snapshot of the server in a specific state at a revision. |
Tag |
tag(java.lang.String description)
Creates a snapshot of the server at the current revision with a description of the snapshot tag. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MemoryChangeLogStore()
Method Detail |
---|
public Tag tag(long revision) throws java.lang.Exception
tag
in interface TaggableChangeLogStore
revision
- the revision to tag the snapshot
java.lang.Exception
- if there is a problem taking a tag, or if
the revision does not existpublic Tag tag() throws java.lang.Exception
tag
in interface TaggableChangeLogStore
java.lang.Exception
- if there is a problem taking a tagpublic Tag tag(java.lang.String description) throws java.lang.Exception
TaggableChangeLogStore
tag
in interface TaggableChangeLogStore
description
- a description of the state associate with the tag
java.lang.Exception
- if there is a problem taking a tagpublic void init(DirectoryService service) throws java.lang.Exception
ChangeLogStore
init
in interface ChangeLogStore
service
- The associated DirectoryService
java.lang.Exception
- If the initialization failedpublic void sync() throws java.lang.Exception
ChangeLogStore
sync
in interface ChangeLogStore
java.lang.Exception
- If the write failedpublic void destroy() throws java.lang.Exception
destroy
in interface ChangeLogStore
java.lang.Exception
- If we can't destroy the logspublic long getCurrentRevision()
ChangeLogStore
getCurrentRevision
in interface ChangeLogStore
public ChangeLogEvent log(LdapPrincipal principal, org.apache.directory.shared.ldap.ldif.LdifEntry forward, org.apache.directory.shared.ldap.ldif.LdifEntry reverse) throws java.lang.Exception
log
in interface ChangeLogStore
principal
- the authorized LDAP principal triggering the changeforward
- LDIF of the change going to the next statereverse
- LDIF (anti-operation): the change required to revert this change
java.lang.Exception
- if there are problems logging the changepublic ChangeLogEvent log(LdapPrincipal principal, org.apache.directory.shared.ldap.ldif.LdifEntry forward, java.util.List<org.apache.directory.shared.ldap.ldif.LdifEntry> reverses) throws java.lang.Exception
log
in interface ChangeLogStore
principal
- the authorized LDAP principal triggering the changeforward
- LDIF of the change going to the next statereverses
- LDIF (anti-operation): the changes required to revert this change
java.lang.Exception
- if there are problems logging the changepublic ChangeLogEvent lookup(long revision) throws java.lang.Exception
ChangeLogStore
lookup
in interface ChangeLogStore
revision
- to get a ChangeLogEvent for
java.lang.Exception
- if there are failures accessing the store
java.lang.IllegalArgumentException
- if the revision is out of range (less than 0
and greater than the current revision)public org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> find() throws java.lang.Exception
ChangeLogStore
find
in interface ChangeLogStore
java.lang.Exception
- if there are failures accessing the storepublic org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> findBefore(long revision) throws java.lang.Exception
ChangeLogStore
findBefore
in interface ChangeLogStore
revision
- the revision number to get the ChangeLogEvents before
java.lang.Exception
- if there are failures accessing the store
java.lang.IllegalArgumentException
- if the revision is out of range (less than 0
and greater than the current revision)public org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> findAfter(long revision) throws java.lang.Exception
ChangeLogStore
findAfter
in interface ChangeLogStore
revision
- the revision number to get the ChangeLogEvents after
java.lang.Exception
- if there are failures accessing the store
java.lang.IllegalArgumentException
- if the revision is out of range (less than 0
and greater than the current revision)public org.apache.directory.shared.ldap.cursor.Cursor<ChangeLogEvent> find(long startRevision, long endRevision) throws java.lang.Exception
ChangeLogStore
find
in interface ChangeLogStore
startRevision
- the revision number to start getting the ChangeLogEvents aboveendRevision
- the revision number to start getting the ChangeLogEvents below
java.lang.Exception
- if there are failures accessing the store
java.lang.IllegalArgumentException
- if the start and end revisions are out of range
(less than 0 and greater than the current revision), or if startRevision > endRevisionpublic Tag getLatest() throws java.lang.Exception
TaggableChangeLogStore
getLatest
in interface TaggableChangeLogStore
java.lang.Exception
- on failures to access the tag storepublic Tag removeTag(long revision) throws java.lang.Exception
TaggableChangeLogStore
removeTag
in interface TaggableChangeLogStore
revision
- the revision number that was tagged
java.lang.Exception
- on failures to access the tag storeTaggableChangeLogStore.removeTag(long)
public Tag tag(long revision, java.lang.String descrition) throws java.lang.Exception
TaggableChangeLogStore
tag
in interface TaggableChangeLogStore
revision
- the revision number that was taggeddescrition
- a description of the state associate with the tag
java.lang.Exception
- on failures to access the tag storeTaggableChangeLogStore.tag(long, String)
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |