wt.audit.configaudit
Class AbstractAuditEventRecorder

java.lang.Object
  extended bywt.audit.configaudit.AbstractAuditEventRecorder
All Implemented Interfaces:
AuditEventRecorder, Externalizable, Serializable
Direct Known Subclasses:
DefaultAuditEventRecorder, NullAuditEventRecorder

public abstract class AbstractAuditEventRecorder
extends Object
implements AuditEventRecorder, Externalizable

This helper class provides the only legal implementation of logEvent. It calls the two methods persistEvent and logEvent. A default implementation is provided for logEvent, which will rarely need to be over-ridden. persistEvent should be over-ridden by concrete AuditRecorders

Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Constructor Summary
AbstractAuditEventRecorder()
           
 
Method Summary
private static ObjectIdentifier getId(Object obj)
           
private static String getIdString(Object obj)
           
protected  void logEvent(KeyedEvent anEvent, ProjectAuditEvent aRecord)
          

Supported API: false
protected  void logEvent(KeyedEvent anEvent, WTCollection events)
          

Supported API: false
protected abstract  ProjectAuditEvent persistEvent(KeyedEvent anEvent)
          This method creates the persistent event object and returns it.
protected abstract  WTCollection persistMultiObjectEvent(KeyedEvent event)
          This method creates the persistent records for each object that is target of a multi-object event.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(AbstractAuditEventRecorder thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void recordEvent(KeyedEvent event)
          Creates the record of an event in the database.
 void recordMultiObjectEvent(KeyedEvent event)
          Creates records of an event in the database for multi-object events.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values
Constructor Detail

AbstractAuditEventRecorder

public AbstractAuditEventRecorder()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(AbstractAuditEventRecorder thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

persistEvent

protected abstract ProjectAuditEvent persistEvent(KeyedEvent anEvent)
                                           throws WTException
This method creates the persistent event object and returns it.

Supported API: false

Parameters:
anEvent -
Returns:
ProjectAuditEvent
Throws:
WTException

persistMultiObjectEvent

protected abstract WTCollection persistMultiObjectEvent(KeyedEvent event)
                                                 throws WTException
This method creates the persistent records for each object that is target of a multi-object event. Returns a collection of ProjectAuditEvent objects.

Supported API: false

Parameters:
event -
Returns:
WTCollection
Throws:
WTException

logEvent

protected void logEvent(KeyedEvent anEvent,
                        ProjectAuditEvent aRecord)
                 throws WTException


Supported API: false

Parameters:
anEvent -
aRecord -
Throws:
WTException

logEvent

protected void logEvent(KeyedEvent anEvent,
                        WTCollection events)
                 throws WTException


Supported API: false

Parameters:
anEvent -
events -
Throws:
WTException

recordEvent

public final void recordEvent(KeyedEvent event)
                       throws WTException
Creates the record of an event in the database. Will also perform any logging that is required.

Supported API: false

Specified by:
recordEvent in interface AuditEventRecorder
Parameters:
event -
Throws:
WTException

recordMultiObjectEvent

public void recordMultiObjectEvent(KeyedEvent event)
                            throws WTException
Creates records of an event in the database for multi-object events. Will also perform any logging that is required.

Supported API: false

Specified by:
recordMultiObjectEvent in interface AuditEventRecorder
Parameters:
event -
Throws:
WTException

getIdString

private static String getIdString(Object obj)

getId

private static ObjectIdentifier getId(Object obj)