Package org.refcodes.logger
Class CompositeTrimLoggerImpl<T>
- java.lang.Object
-
- org.refcodes.logger.CompositeTrimLoggerImpl<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
,Logger<T>
,QueryLogger<T>
,TrimLogger<T>
,org.refcodes.mixin.Disposable
,org.refcodes.structure.Clearable
public class CompositeTrimLoggerImpl<T> extends java.lang.Object implements org.refcodes.component.CompositeComponent
TheCompositeTrimLoggerImpl
is a ready to use implementation of a compositeTrimLogger
extending theAbstractCompositeTrimLogger
.- See Also:
AbstractCompositeTrimLogger
-
-
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 CompositeTrimLoggerImpl(org.refcodes.controlflow.ExecutionStrategy aComponentExecutionStrategy, TrimLogger<T>... aLoggers)
Similar to theCompositeTrimLoggerImpl(TrimLogger...)
with the additional option of determining the execution strategy of the state change request calls for the encapsulatedTrimLogger
instances (as ofCompositeComponent
).CompositeTrimLoggerImpl(TrimLogger<T>... aLoggers)
Instantiates a new composite trim logger impl.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
void
close()
void
decompose()
void
deleteLogs(org.refcodes.criteria.Criteria aCriteria)
Deletes loggedRecord
instances according to the providedCriteria
.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.Logger
log, printSeparator
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
CompositeTrimLoggerImpl
@SafeVarargs public CompositeTrimLoggerImpl(TrimLogger<T>... aLoggers)
Instantiates a new composite trim logger impl.- Parameters:
aLoggers
- the loggers- See Also:
AbstractCompositeTrimLogger(TrimLogger...)
-
CompositeTrimLoggerImpl
@SafeVarargs public CompositeTrimLoggerImpl(org.refcodes.controlflow.ExecutionStrategy aComponentExecutionStrategy, TrimLogger<T>... aLoggers)
Similar to theCompositeTrimLoggerImpl(TrimLogger...)
with the additional option of determining the execution strategy of the state change request calls for the encapsulatedTrimLogger
instances (as ofCompositeComponent
).- Parameters:
aComponentExecutionStrategy
- The strategy to be used when invoking a component's (encapsulatedTrimLogger
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
-
clear
public void clear()
- Specified by:
clear
in interfaceorg.refcodes.structure.Clearable
-
deleteLogs
public void deleteLogs(org.refcodes.criteria.Criteria aCriteria)
Deletes loggedRecord
instances according to the providedCriteria
.- Specified by:
deleteLogs
in interfaceTrimLogger<L extends TrimLogger<T>>
- Parameters:
aCriteria
- TheCriteria
to be applied when deleting previously loggedRecord
instances.
-
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
-
-