|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface AuditTrailEntryList
Defines abstract access and modification methods to an ordered set of audit trail entries.
The order of the list is defined by given indices, a natural order based on timestamps or creation time of the contained audit trail entries is not enforced. Note: The performance and optimized usage pattern of the represented instances is dependent on the respective implementation of this interface. The interface makes no assumption about the efficiency or cost of provided methods. You are strongly advised to consult the documentation for the implementation of this list in your context, if you want or need to optimize your application for performance.
Method Summary | |
---|---|
int |
append(AuditTrailEntry ate)
Appends a given audit trail entry to the end of the list. |
void |
cleanup()
Frees all resources associated with this instance. |
AuditTrailEntryList |
cloneInstance()
Returns a deep copy of this list of audit trail entries. |
boolean |
consolidate()
Consolidates this object, and transforms it into an optimized state. |
AuditTrailEntry |
get(int index)
Retrieves the audit trail entry located at the given position, i.e. |
void |
insert(AuditTrailEntry ate,
int index)
Inserts the given audit trail entry at the given logical position, or index, within the list. |
int |
insertOrdered(AuditTrailEntry ate)
Inserts the given audit trail entry at the correct order position, depending on its timestamp. |
boolean |
isTainted()
Probes whether the implementing structure is in a tainted state. |
java.util.Iterator |
iterator()
Retrieves an iterator on this list. |
AuditTrailEntry |
remove(int index)
Removes the audit trail entry at the given position, or index, from the list |
AuditTrailEntry |
replace(AuditTrailEntry ate,
int index)
Replaces the audit trail entry at the given position by another provided audit trail entry |
int |
size()
Returns the current size of this audit trail entry list. |
Method Detail |
---|
int size()
AuditTrailEntry get(int index) throws java.lang.IndexOutOfBoundsException, java.io.IOException
The usage contract for indices in this context is, that the given value must reside
within [0, size() - 1]
.
index
- Position of the requested audit trail entry (within [0, size() - 1]
)
java.lang.IndexOutOfBoundsException
- Thrown when given index is invalid
java.io.IOException
- Thrown on general I/O failuresjava.util.Iterator iterator()
Warning: Iterators on audit trail entry lists are not required to be consistent. When the list is modified during the lifetime of an iterator, this iterator becomes inconsistent and may return wrong results or perform in unexpected manner. You are advised to use modifying iterators exclusively, and not perform modifying operations on the list while using the iterator. Multiple read-only iterators on the same list will perform independently, each as expected.
int append(AuditTrailEntry ate) throws java.io.IOException
ate
- The audit trail entry to append to the list.
java.io.IOException
- Thrown on I/O failurevoid insert(AuditTrailEntry ate, int index) throws java.lang.IndexOutOfBoundsException, java.io.IOException
ate
- The audit trail entry to be inserted.index
- Index, or position within the list, at which to insert the audit trail entry.
Must be within [0, size()]
.
java.lang.IndexOutOfBoundsException
- Thrown if the given index is not within [0, size()]
.
java.io.IOException
- Thrown on I/O failure.int insertOrdered(AuditTrailEntry ate) throws java.io.IOException
ate
- The audit trail entry to be inserted
java.io.IOException
AuditTrailEntry remove(int index) throws java.lang.IndexOutOfBoundsException, java.io.IOException
index
- Position of the audit trail entry to be removed (within [0, size() - 1]
).
java.lang.IndexOutOfBoundsException
- Thrown if the given index is not within [0, size() - 1]
.
java.io.IOException
AuditTrailEntry replace(AuditTrailEntry ate, int index) throws java.lang.IndexOutOfBoundsException, java.io.IOException
ate
- Audit trail entry to be inserted at the specified index.index
- Index at which the current audit trail entry is removed, and the provided one
is inserted. Must be within [0, size() - 1]
.
java.lang.IndexOutOfBoundsException
- Thrown if the index is not within [0, size() - 1]
.
java.io.IOException
- Thrown on I/O failure.boolean isTainted()
Tainted, in this context, is defined as not being structured in an optimal
fashion. Tainted instances can be identified using their method
isTainted()
. They may be transformed into an optimized state by
calling their consolidate()
method.
In general, consolidation is supposed to be expensive. Implementations of this interface are expected to consolidate themselves at specified events or intervals. You should not manually consolidate an instance other than if you know what you are doing, and what for.
One situation where manual consolidation is suggested is, when you stop modifying a list of audit trail entries and want to start excessive read operations on it (which are not interleaved with modifying operations). For details to tainting and consolidation, refer to the documentation of the implementing classes.
boolean consolidate() throws java.io.IOException
Tainted, in this context, is defined as not being structured in an optimal
fashion. Tainted instances can be identified using their method
isTainted()
. They may be transformed into an optimized state by
calling their consolidate()
method.
In general, consolidation is supposed to be expensive. Implementations of this interface are expected to consolidate themselves at specified events or intervals. You should not manually consolidate an instance other than if you know what you are doing, and what for.
One situation where manual consolidation is suggested is, when you stop modifying a list of audit trail entries and want to start excessive read operations on it (which are not interleaved with modifying operations). For details to tainting and consolidation, refer to the documentation of the implementing classes.
java.io.IOException
AuditTrailEntryList cloneInstance() throws java.io.IOException
Modifications are not synchronized between original and clone.
java.io.IOException
void cleanup() throws java.io.IOException
This method should be invoked, when it is foreseeable that this instance will no longer be accessed in any way. Do not attempt to access this instance after this method has been invoked, as things are about to get ugly otherwise!
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |