- java.lang.Object
-
- org.refcodes.logger.CompositeQueryLoggerImpl<T>
-
- Type Parameters:
T- The type of theRecordinstances managed by theLogger.
- All Implemented Interfaces:
Flushable,org.refcodes.component.Closable,org.refcodes.component.CompositeComponent,org.refcodes.component.Decomposeable,org.refcodes.component.Destroyable,org.refcodes.component.Flushable,org.refcodes.component.Initializable,org.refcodes.component.LifeCycleComponent,org.refcodes.component.LinkComponent,org.refcodes.component.Openable,org.refcodes.component.Pausable,org.refcodes.component.Resetable,org.refcodes.component.Resumable,org.refcodes.component.Startable,org.refcodes.component.Stoppable,LogDecorator,Logger<T>,QueryLogger<T>,org.refcodes.mixin.Disposable
public class CompositeQueryLoggerImpl<T> extends Object implements org.refcodes.component.CompositeComponent
TheCompositeQueryLoggerImplis a ready to use implementation of a compositeQueryLoggerextending theAbstractCompositeQueryLogger.- See Also:
AbstractCompositeQueryLogger
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.component.Closable
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.CompositeComponent
org.refcodes.component.CompositeComponent.ExtendedCompositeComponent<CTX extends Object,CON extends Object>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Decomposeable
org.refcodes.component.Decomposeable.DecomposeAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable
org.refcodes.component.Destroyable.DestroyAutomaton
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.Disposable
org.refcodes.mixin.Disposable.Disposedable
-
Nested classes/interfaces inherited from interface org.refcodes.component.Flushable
org.refcodes.component.Flushable.FlushBuilder<B extends org.refcodes.component.Flushable.FlushBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Initializable
org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.Initializable.InitializeBuilder<B extends org.refcodes.component.Initializable.InitializeBuilder<B>>, org.refcodes.component.Initializable.UncheckedInitializable
-
Nested classes/interfaces inherited from interface org.refcodes.component.LifeCycleComponent
org.refcodes.component.LifeCycleComponent.LifeCycleAutomaton, org.refcodes.component.LifeCycleComponent.UncheckedLifeCycleComponent
-
Nested classes/interfaces inherited from interface org.refcodes.component.LinkComponent
org.refcodes.component.LinkComponent.LinkAutomaton, org.refcodes.component.LinkComponent.LinkComponentBuilder<B extends org.refcodes.component.LinkComponent.LinkComponentBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Openable
org.refcodes.component.Openable.OpenAutomaton, org.refcodes.component.Openable.OpenBuilder<B extends org.refcodes.component.Openable.OpenBuilder<B>>
-
Nested classes/interfaces inherited from interface org.refcodes.component.Pausable
org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Pausable.PauseBuilder<B extends org.refcodes.component.Pausable.PauseBuilder<B>>, org.refcodes.component.Pausable.UncheckedPausable
-
Nested classes/interfaces inherited from interface org.refcodes.component.Resumable
org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.Resumable.ResumeBuilder<B extends org.refcodes.component.Resumable.ResumeBuilder<B>>, org.refcodes.component.Resumable.UncheckedResumable
-
-
Constructor Summary
Constructors Constructor Description CompositeQueryLoggerImpl(org.refcodes.controlflow.ExecutionStrategy aComponentExecutionStrategy, QueryLogger<T>... aLoggers)Similar to theCompositeQueryLoggerImpl(QueryLogger...)with the additional option of determining the execution strategy of the state change request calls for the encapsulatedQueryLoggerinstances (as ofCompositeComponent).CompositeQueryLoggerImpl(QueryLogger<T>... aLoggers)Instantiates a new composite query logger impl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voiddecompose()voiddestroy()voiddispose()org.refcodes.tabular.Records<T>findLogs()Retrieves all availableRecordinstances being logged.org.refcodes.tabular.Records<T>findLogs(int aLimit)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>findLogs(org.refcodes.criteria.Criteria aCriteria)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>findLogs(org.refcodes.criteria.Criteria aCriteria, int aLimit)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>findLogs(org.refcodes.criteria.Criteria aCriteria, org.refcodes.tabular.Header<T> aHeader)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>findLogs(org.refcodes.criteria.Criteria aCriteria, org.refcodes.tabular.Header<T> aHeader, int aLimit)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>findLogs(org.refcodes.tabular.Header<T> aHeader, int aLimit)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.voidflush()protected Collection<L>getLoggers()Gets the loggers.voidinitialize()voidlog(org.refcodes.tabular.Record<? extends T> aRecord)Logs aRecord.voidopen()voidpause()voidreset()voidresume()voidstart()voidstop()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.refcodes.component.Closable
closeIn, closeQuietly, closeUnchecked
-
Methods inherited from interface org.refcodes.logger.LogDecorator
printHead, printSeparator, printTail
-
-
-
-
Constructor Detail
-
CompositeQueryLoggerImpl
@SafeVarargs public CompositeQueryLoggerImpl(QueryLogger<T>... aLoggers)
Instantiates a new composite query logger impl.- Parameters:
aLoggers- the loggers- See Also:
AbstractCompositeQueryLogger(QueryLogger...)
-
CompositeQueryLoggerImpl
@SafeVarargs public CompositeQueryLoggerImpl(org.refcodes.controlflow.ExecutionStrategy aComponentExecutionStrategy, QueryLogger<T>... aLoggers)
Similar to theCompositeQueryLoggerImpl(QueryLogger...)with the additional option of determining the execution strategy of the state change request calls for the encapsulatedQueryLoggerinstances (as ofCompositeComponent).- Parameters:
aComponentExecutionStrategy- The strategy to be used when invoking a component's (encapsulatedQueryLoggerinstance's) state change request call (as ofCompositeComponent).
-
-
Method Detail
-
initialize
public void initialize() throws org.refcodes.component.InitializeException- Specified by:
initializein interfaceorg.refcodes.component.Initializable- Throws:
org.refcodes.component.InitializeException
-
start
public void start() throws org.refcodes.component.StartException- Specified by:
startin interfaceorg.refcodes.component.Startable- Throws:
org.refcodes.component.StartException
-
pause
public void pause() throws org.refcodes.component.PauseException- Specified by:
pausein interfaceorg.refcodes.component.Pausable- Throws:
org.refcodes.component.PauseException
-
resume
public void resume() throws org.refcodes.component.ResumeException- Specified by:
resumein interfaceorg.refcodes.component.Resumable- Throws:
org.refcodes.component.ResumeException
-
stop
public void stop() throws org.refcodes.component.StopException- Specified by:
stopin interfaceorg.refcodes.component.Stoppable- Throws:
org.refcodes.component.StopException
-
decompose
public void decompose()
- Specified by:
decomposein interfaceorg.refcodes.component.Decomposeable
-
flush
public void flush() throws IOException- Specified by:
flushin interfaceFlushable- Specified by:
flushin interfaceorg.refcodes.component.Flushable- Throws:
IOException
-
destroy
public void destroy()
- Specified by:
destroyin interfaceorg.refcodes.component.Destroyable
-
reset
public void reset()
- Specified by:
resetin interfaceorg.refcodes.component.Resetable
-
open
public void open() throws IOException- Specified by:
openin interfaceorg.refcodes.component.Openable- Throws:
IOException
-
close
public void close()
- Specified by:
closein interfaceorg.refcodes.component.Closable
-
dispose
public void dispose()
- Specified by:
disposein interfaceorg.refcodes.mixin.Disposable
-
findLogs
public org.refcodes.tabular.Records<T> findLogs()
Retrieves all availableRecordinstances being logged.- Specified by:
findLogsin interfaceQueryLogger<L extends QueryLogger<T>>- Returns:
- A
Recordsinstance containing all availableRecordinstances being logged.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(int aLimit)
Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.- Specified by:
findLogsin interfaceQueryLogger<L extends QueryLogger<T>>- Parameters:
aLimit- The maximumRecordinstances contained in the returnedRecordsinstance; there may be moreRecordinstances which are not contained in theRecordsinstance in case theRecordsinstance's size is that of the specified limit.- Returns:
- A
Recordsinstance containing all availableRecordinstances being logged matching the given criteria and restrictions.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(org.refcodes.criteria.Criteria aCriteria)
Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.- Specified by:
findLogsin interfaceQueryLogger<L extends QueryLogger<T>>- Parameters:
aCriteria- TheCriteriato be applied to theRecordinstances- Returns:
- A
Recordsinstance containing all availableRecordinstances being logged matching the given criteria and restrictions.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(org.refcodes.tabular.Header<T> aHeader, int aLimit)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.- Specified by:
findLogsin interfaceQueryLogger<L extends QueryLogger<T>>- Parameters:
aHeader- TheHeaderused to restrict the "columns" (key/value entries) in the retrievedRecordinstances (provided by theRecordsinstance).aLimit- The maximumRecordinstances contained in the returnedRecordsinstance; there may be moreRecordinstances which are not contained in theRecordsinstance in case theRecordsinstance's size is that of the specified limit.- Returns:
- A
Recordsinstance containing all availableRecordinstances being logged matching the given criteria and restrictions.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(org.refcodes.criteria.Criteria aCriteria, int aLimit)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.- Specified by:
findLogsin interfaceQueryLogger<L extends QueryLogger<T>>- Parameters:
aCriteria- TheCriteriato be applied to theRecordinstancesaLimit- The maximumRecordinstances contained in the returnedRecordsinstance; there may be moreRecordinstances which are not contained in theRecordsinstance in case theRecordsinstance's size is that of the specified limit.- Returns:
- A
Recordsinstance containing all availableRecordinstances being logged matching the given criteria and restrictions.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(org.refcodes.criteria.Criteria aCriteria, org.refcodes.tabular.Header<T> aHeader)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.- Specified by:
findLogsin interfaceQueryLogger<L extends QueryLogger<T>>- Parameters:
aCriteria- TheCriteriato be applied to theRecordinstancesaHeader- TheHeaderused to restrict the "columns" (key/value entries) in the retrievedRecordinstances (provided by theRecordsinstance).- Returns:
- A
Recordsinstance containing all availableRecordinstances being logged matching the given criteria and restrictions.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(org.refcodes.criteria.Criteria aCriteria, org.refcodes.tabular.Header<T> aHeader, int aLimit)Retrieves all availableRecordinstances being logged matching the given criteria and restrictions.- Specified by:
findLogsin interfaceQueryLogger<L extends QueryLogger<T>>- Parameters:
aCriteria- TheCriteriato be applied to theRecordinstancesaHeader- TheHeaderused to restrict the "columns" (key/value entries) in the retrievedRecordinstances (provided by theRecordsinstance).aLimit- The maximumRecordinstances contained in the returnedRecordsinstance; there may be moreRecordinstances which are not contained in theRecordsinstance in case theRecordsinstance's size is that of the specified limit.- Returns:
- A
Recordsinstance containing all availableRecordinstances being logged matching the given criteria and restrictions.
-
log
public void log(org.refcodes.tabular.Record<? extends T> aRecord) throws IllegalRecordRuntimeException, UnexpectedLogRuntimeExceptionLogs aRecord. The targeted data sink for theRecordinstances (where them are physically stored) depends on the implementation of theLogger. It can be a console, a file, a stream or a database.- Specified by:
login interfaceLogger<L extends Logger<T>>- Parameters:
aRecord- TheRecordto be logged.- Throws:
IllegalRecordRuntimeException- Thrown in case the record cannot be logged as a specific implementation might expect some dedicatedColumninstances to be contained in the provided Record.UnexpectedLogRuntimeException- Thrown in case some other problems regarding logging occurred, e.g. the data sink (physical system where to log to) experiences problems.
-
getLoggers
protected Collection<L> getLoggers()
Gets the loggers.- Returns:
- the loggers
-
-