## org.exist.storage.journal
Interface Loggable

All Known Implementing Classes:
  AbstractLoggable, SplitPageLoggable

public interface Loggable

Interface to be implemented by all objects that can be written or read from the journalling log.

Author:
  wolf

Method Summary
`java.lang.String` `dump()` Returns a description of the entry for debugging purposes.
`int` `getLogSize()` Returns the size of the work load of this entry.
`byte` `getLogType()` Returns the type id of the log entry.
`long` `getLsn()` Returns the `Lsn` of the entry.
`long` `getTransactionId()` Returns the transaction id of the transaction to which the logged operation belongs.
`void` `read(java.nio.ByteBuffer in)` Read the entry.
`void` `redo()` Redo the underlying operation.
`void` `setLsn(long lsn)` Set the `Lsn` of the entry.
`void` `undo()` Undo, i.e.
`void` `write(java.nio.ByteBuffer out)` Write this entry to the specified ByteBuffer.

Method Detail

### getLogType

    public byte getLogType()

  Returns the type id of the log entry. This is the type registered with class `LogEntryTypes`. The returned id is used by `JournalReader` to find the correct Loggable instance that can handle the entry.

  Returns:
    Type id of the log entry

### getTransactionId

    public long getTransactionId()

  Returns the transaction id of the transaction to which the logged operation belongs.

  Returns:
    transaction id

### getLsn

    public long getLsn()

  Returns the `Lsn` of the entry.

  Returns:
    LSN

### setLsn

    public void setLsn(long lsn)

  Set the `Lsn` of the entry.

  Parameters:
    `lsn` -

### write

    public void write(java.nio.ByteBuffer out)

  Write this entry to the specified ByteBuffer.

  Parameters:
    `out` -

### read

    public void read(java.nio.ByteBuffer in)

  Read the entry.

  Parameters:
    `in` -

### getLogSize

    public int getLogSize()

  Returns the size of the work load of this entry.

  Returns:
    size of the work load of this entry.

### redo

    public void redo()
              throws LogException

  Redo the underlying operation. This method is called by `RecoveryManager`.

  Throws:
    `LogException`

### undo

    public void undo()
              throws LogException

  Undo, i.e. roll back, the underlying operation. The method is called by `RecoveryManager`.

  Throws:
    `LogException`

### dump

    public java.lang.String dump()

  Returns a description of the entry for debugging purposes.

  Returns:
    description

Copyright (C) Wolfgang Meier. All rights reserved.