Package org.refcodes.logger
Class CompositeQueryLoggerImpl<T>
- java.lang.Object
-
- org.refcodes.logger.CompositeQueryLoggerImpl<T>
-
- Type Parameters:
T
- The type of theRecord
instances managed by theLogger
.
- All Implemented Interfaces:
java.io.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 java.lang.Object implements org.refcodes.component.CompositeComponent
TheCompositeQueryLoggerImpl
is a ready to use implementation of a compositeQueryLogger
extending 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 java.lang.Object,CON extends java.lang.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 encapsulatedQueryLogger
instances (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 void
close()
void
decompose()
void
destroy()
void
dispose()
org.refcodes.tabular.Records<T>
findLogs()
Retrieves all availableRecord
instances being logged.org.refcodes.tabular.Records<T>
findLogs(int aLimit)
Retrieves all availableRecord
instances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>
findLogs(org.refcodes.criteria.Criteria aCriteria)
Retrieves all availableRecord
instances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>
findLogs(org.refcodes.criteria.Criteria aCriteria, int aLimit)
Retrieves all availableRecord
instances 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 availableRecord
instances 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 availableRecord
instances being logged matching the given criteria and restrictions.org.refcodes.tabular.Records<T>
findLogs(org.refcodes.tabular.Header<T> aHeader, int aLimit)
Retrieves all availableRecord
instances being logged matching the given criteria and restrictions.void
flush()
protected java.util.Collection<L>
getLoggers()
Gets the loggers.void
initialize()
void
log(org.refcodes.tabular.Record<? extends T> aRecord)
Logs aRecord
.void
open()
void
pause()
void
reset()
void
resume()
void
start()
void
stop()
-
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 encapsulatedQueryLogger
instances (as ofCompositeComponent
).- Parameters:
aComponentExecutionStrategy
- The strategy to be used when invoking a component's (encapsulatedQueryLogger
instance's) state change request call (as ofCompositeComponent
).
-
-
Method Detail
-
initialize
public void initialize() throws org.refcodes.component.InitializeException
- Specified by:
initialize
in interfaceorg.refcodes.component.Initializable
- Throws:
org.refcodes.component.InitializeException
-
start
public void start() throws org.refcodes.component.StartException
- Specified by:
start
in interfaceorg.refcodes.component.Startable
- Throws:
org.refcodes.component.StartException
-
pause
public void pause() throws org.refcodes.component.PauseException
- Specified by:
pause
in interfaceorg.refcodes.component.Pausable
- Throws:
org.refcodes.component.PauseException
-
resume
public void resume() throws org.refcodes.component.ResumeException
- Specified by:
resume
in interfaceorg.refcodes.component.Resumable
- Throws:
org.refcodes.component.ResumeException
-
stop
public void stop() throws org.refcodes.component.StopException
- Specified by:
stop
in interfaceorg.refcodes.component.Stoppable
- Throws:
org.refcodes.component.StopException
-
decompose
public void decompose()
- Specified by:
decompose
in interfaceorg.refcodes.component.Decomposeable
-
flush
public void flush() throws org.refcodes.component.OpenException
- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in interfaceorg.refcodes.component.Flushable
- Throws:
org.refcodes.component.OpenException
-
destroy
public void destroy()
- Specified by:
destroy
in interfaceorg.refcodes.component.Destroyable
-
reset
public void reset()
- Specified by:
reset
in interfaceorg.refcodes.component.Resetable
-
open
public void open() throws org.refcodes.component.OpenException
- Specified by:
open
in interfaceorg.refcodes.component.Openable
- Throws:
org.refcodes.component.OpenException
-
close
public void close()
- Specified by:
close
in interfaceorg.refcodes.component.Closable
-
dispose
public void dispose()
- Specified by:
dispose
in interfaceorg.refcodes.mixin.Disposable
-
findLogs
public org.refcodes.tabular.Records<T> findLogs()
Retrieves all availableRecord
instances being logged.- Specified by:
findLogs
in interfaceQueryLogger<L extends QueryLogger<T>>
- Returns:
- A
Records
instance containing all availableRecord
instances being logged.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(int aLimit)
Retrieves all availableRecord
instances being logged matching the given criteria and restrictions.- Specified by:
findLogs
in interfaceQueryLogger<L extends QueryLogger<T>>
- Parameters:
aLimit
- The maximumRecord
instances contained in the returnedRecords
instance; there may be moreRecord
instances which are not contained in theRecords
instance in case theRecords
instance's size is that of the specified limit.- Returns:
- A
Records
instance containing all availableRecord
instances being logged matching the given criteria and restrictions.
-
findLogs
public org.refcodes.tabular.Records<T> findLogs(org.refcodes.criteria.Criteria aCriteria)
Retrieves all availableRecord
instances being logged matching the given criteria and restrictions.- Specified by:
findLogs
in interfaceQueryLogger<L extends QueryLogger<T>>
- Parameters:
aCriteria
- TheCriteria
to be applied to theRecord
instances- Returns:
- A
Records
instance containing all availableRecord
instances 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 availableRecord
instances being logged matching the given criteria and restrictions.- Specified by:
findLogs
in interfaceQueryLogger<L extends QueryLogger<T>>
- Parameters:
aHeader
- TheHeader
used to restrict the "columns" (key/value entries) in the retrievedRecord
instances (provided by theRecords
instance).aLimit
- The maximumRecord
instances contained in the returnedRecords
instance; there may be moreRecord
instances which are not contained in theRecords
instance in case theRecords
instance's size is that of the specified limit.- Returns:
- A
Records
instance containing all availableRecord
instances 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 availableRecord
instances being logged matching the given criteria and restrictions.- Specified by:
findLogs
in interfaceQueryLogger<L extends QueryLogger<T>>
- Parameters:
aCriteria
- TheCriteria
to be applied to theRecord
instancesaLimit
- The maximumRecord
instances contained in the returnedRecords
instance; there may be moreRecord
instances which are not contained in theRecords
instance in case theRecords
instance's size is that of the specified limit.- Returns:
- A
Records
instance containing all availableRecord
instances 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 availableRecord
instances being logged matching the given criteria and restrictions.- Specified by:
findLogs
in interfaceQueryLogger<L extends QueryLogger<T>>
- Parameters:
aCriteria
- TheCriteria
to be applied to theRecord
instancesaHeader
- TheHeader
used to restrict the "columns" (key/value entries) in the retrievedRecord
instances (provided by theRecords
instance).- Returns:
- A
Records
instance containing all availableRecord
instances 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 availableRecord
instances being logged matching the given criteria and restrictions.- Specified by:
findLogs
in interfaceQueryLogger<L extends QueryLogger<T>>
- Parameters:
aCriteria
- TheCriteria
to be applied to theRecord
instancesaHeader
- TheHeader
used to restrict the "columns" (key/value entries) in the retrievedRecord
instances (provided by theRecords
instance).aLimit
- The maximumRecord
instances contained in the returnedRecords
instance; there may be moreRecord
instances which are not contained in theRecords
instance in case theRecords
instance's size is that of the specified limit.- Returns:
- A
Records
instance containing all availableRecord
instances being logged matching the given criteria and restrictions.
-
log
public void log(org.refcodes.tabular.Record<? extends T> aRecord) throws IllegalRecordRuntimeException, UnexpectedLogRuntimeException
Logs aRecord
. The targeted data sink for theRecord
instances (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:
log
in interfaceLogger<L extends Logger<T>>
- Parameters:
aRecord
- TheRecord
to be logged.- Throws:
IllegalRecordRuntimeException
- Thrown in case the record cannot be logged as a specific implementation might expect some dedicatedColumn
instances 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 java.util.Collection<L> getLoggers()
Gets the loggers.- Returns:
- the loggers
-
-