@ThreadSafe public class AuditManager extends com.helger.photon.app.dao.AbstractPhotonSimpleDAO implements IAuditManager
AsynchronousAuditor) and writes them to XML files on a per-day
basis.| Modifier and Type | Field and Description |
|---|---|
static String |
ELEMENT_ITEM
Element name of each item in the serialized XML
|
static String |
ELEMENT_ITEMS
Element name of the root element of the serialized XML
|
| Constructor and Description |
|---|
AuditManager(String sBaseDir,
com.helger.security.authentication.subject.user.ICurrentUserIDProvider aCurrentUserIDProvider)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected com.helger.xml.microdom.IMicroDocument |
createWriteData() |
boolean |
equals(Object o) |
com.helger.commons.collection.impl.ICommonsList<IAuditItem> |
getAllAuditItemsOfDate(LocalDate aDate) |
int |
getAuditItemCount() |
AsynchronousAuditor |
getAuditor() |
String |
getBaseDir() |
LocalDate |
getEarliestAuditDate() |
List<IAuditItem> |
getLastAuditItems(int nMaxItems) |
static String |
getRelativeAuditDirectory(LocalDate aDate) |
static String |
getRelativeAuditDirectoryYear(int nYear) |
static String |
getRelativeAuditFilename(LocalDate aDate) |
int |
hashCode() |
boolean |
isInMemory() |
protected void |
onFilenameChange(String sPreviousFilename,
String sNewFilename) |
protected com.helger.commons.state.EChange |
onRead(com.helger.xml.microdom.IMicroDocument aDoc) |
static void |
readFromXML(com.helger.xml.microdom.IMicroDocument aDoc,
Consumer<? super IAuditItem> aHandler) |
void |
stop()
Stop taking new audits.
|
String |
toString() |
beforeWriteToFile, getFilenameProvider, getInitCount, getIO, getLastFilename, getLastInitDateTime, getLastReadDateTime, getLastWriteDateTime, getReadCount, getSafeFile, getWriteCount, getXMLWriterSettings, initialRead, markAsChanged, modifyWriteData, onInit, triggerExceptionHandlersRead, triggerExceptionHandlersWrite, writeToFileOnPendingChangesbeginWithoutAutoSave, checkFileAccess, endWithoutAutoSave, exceptionHandlersRead, exceptionHandlersWrite, hasPendingChanges, internalHasPendingChanges, internalIsAutoSaveEnabled, internalSetPendingChanges, isAutoSaveEnabled, isSilentMode, setSilentModepublic static final String ELEMENT_ITEMS
public static final String ELEMENT_ITEM
@ContainsSoftMigration public AuditManager(@Nullable String sBaseDir, @Nonnull com.helger.security.authentication.subject.user.ICurrentUserIDProvider aCurrentUserIDProvider) throws com.helger.dao.DAOException
sBaseDir - The base directory, relative to the default IO base directory. May
be null to indicate an in-memory auditor only.aCurrentUserIDProvider - The current user ID provider. May not be null.com.helger.dao.DAOException - In case reading failed@Nonnull @Nonempty public static String getRelativeAuditDirectoryYear(@Nonnull int nYear)
@Nonnull @Nonempty public static String getRelativeAuditDirectory(@Nonnull LocalDate aDate)
@Nonnull @Nonempty public static String getRelativeAuditFilename(@Nonnull LocalDate aDate)
public boolean isInMemory()
isInMemory in interface IAuditManagertrue if this manager operates only in memory,
false if it keeps persistent files.IAuditManager.getBaseDir()@Nullable public String getBaseDir()
getBaseDir in interface IAuditManagernull
to indicate in-memory only auditing. If the results is not
null it must end with a path separator (slash).IAuditManager.isInMemory()@Nonnull public AsynchronousAuditor getAuditor()
getAuditor in interface IAuditManagernull.public static void readFromXML(@Nonnull com.helger.xml.microdom.IMicroDocument aDoc, @Nonnull Consumer<? super IAuditItem> aHandler)
@Nonnull protected com.helger.commons.state.EChange onRead(@Nonnull com.helger.xml.microdom.IMicroDocument aDoc)
onRead in class com.helger.dao.simple.AbstractSimpleDAOprotected com.helger.xml.microdom.IMicroDocument createWriteData()
createWriteData in class com.helger.dao.simple.AbstractSimpleDAOprotected void onFilenameChange(@Nullable String sPreviousFilename, @Nonnull String sNewFilename)
onFilenameChange in class com.helger.dao.simple.AbstractSimpleDAO@Nonnegative public int getAuditItemCount()
@Nonnull @ReturnsMutableCopy @CodingStyleguideUnaware public List<IAuditItem> getLastAuditItems(@Nonnegative int nMaxItems)
getLastAuditItems in interface IAuditManagernMaxItems - The maximum number of items. Must be > 0.null.public void stop()
IAuditManagerstop in interface IAuditManager@Nullable @ReturnsMutableCopy public com.helger.commons.collection.impl.ICommonsList<IAuditItem> getAllAuditItemsOfDate(@Nonnull LocalDate aDate)
@Nonnull public LocalDate getEarliestAuditDate()
getEarliestAuditDate in interface IAuditManagernull if a persistent storage is used and
no entry is present yet.public String toString()
toString in class com.helger.dao.simple.AbstractSimpleDAOCopyright © 2014–2023 Philip Helger. All rights reserved.