Package org.refcodes.logger.alt.io
Class IoLogger<T>
- java.lang.Object
-
- org.refcodes.logger.alt.io.IoLogger<T>
-
- Type Parameters:
T
- The type of theRecord
instances managed by theLogger
.
- All Implemented Interfaces:
org.refcodes.logger.LogDecorator
,org.refcodes.logger.Logger<T>
,org.refcodes.mixin.DelimiterAccessor
,org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<IoLogger<T>>
,org.refcodes.mixin.DelimiterAccessor.DelimiterMutator
,org.refcodes.mixin.DelimiterAccessor.DelimiterProperty
,org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamMutator
,org.refcodes.mixin.PrintStreamAccessor.PrintStreamMutator
,org.refcodes.mixin.TrimAccessor
,org.refcodes.mixin.TrimAccessor.TrimBuilder<IoLogger<T>>
,org.refcodes.mixin.TrimAccessor.TrimMutator
,org.refcodes.mixin.TrimAccessor.TrimProperty
,org.refcodes.textual.CsvEscapeModeAccessor
,org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeBuilder<IoLogger<T>>
,org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeMutator
,org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeProperty
public class IoLogger<T> extends java.lang.Object implements org.refcodes.logger.Logger<T>, org.refcodes.mixin.PrintStreamAccessor.PrintStreamMutator, org.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamMutator, org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeProperty, org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeBuilder<IoLogger<T>>, org.refcodes.mixin.TrimAccessor.TrimProperty, org.refcodes.mixin.TrimAccessor.TrimBuilder<IoLogger<T>>, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty, org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<IoLogger<T>>
TheIoLogger
implements theLogger
interface for providing logging functionality for I/O output (e.g. viaSystem.out
andSystem.err
by default).
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.textual.CsvEscapeModeAccessor
org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeBuilder<B extends org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeBuilder<?>>, org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeMutator, org.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeProperty
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.DelimiterAccessor
org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B extends org.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<B>>, org.refcodes.mixin.DelimiterAccessor.DelimiterMutator, org.refcodes.mixin.DelimiterAccessor.DelimiterProperty
-
-
Field Summary
Fields Modifier and Type Field Description protected org.refcodes.textual.CsvBuilder
_csvBuilder
protected java.io.PrintStream
_errorStream
protected org.refcodes.tabular.Header<T>
_header
protected java.io.PrintStream
_outputStream
static java.lang.String
PROPERTY_ERROR_STREAM
static java.lang.String
PROPERTY_OUTPUT_STREAM
-
Constructor Summary
Constructors Constructor Description IoLogger()
Constructs aIoLogger
.IoLogger(java.io.File aFile)
Constructs aIoLogger
.IoLogger(java.io.File aInputFile, java.io.File aErrorFile)
Constructs aIoLogger
.IoLogger(java.io.OutputStream aOutputStream)
Constructs aIoLogger
.IoLogger(java.io.OutputStream aOutputStream, java.io.OutputStream aErrorStream)
Constructs aIoLogger
.IoLogger(java.io.PrintStream aPrintStream)
Constructs aIoLogger
.IoLogger(java.io.PrintStream aOutputStream, java.io.PrintStream aErrorStream)
Constructs aIoLogger
.IoLogger(org.refcodes.tabular.Header<T> aHeader)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.File aFile)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.File aFile, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.File aInputFile, java.io.File aErrorFile)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.OutputStream aOutputStream)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.OutputStream aOutputStream, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.OutputStream aOutputStream, java.io.OutputStream aErrorStream)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aPrintStream)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aPrintStream, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aOutputStream, java.io.PrintStream aErrorStream)
Constructs aIoLogger
with the given header for logging.IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aOutputStream, java.io.PrintStream aErrorStream, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.refcodes.textual.CsvEscapeMode
getCsvEscapeMode()
char
getDelimiter()
protected org.refcodes.tabular.Header<T>
getHeader()
Returns theHeader
used by theIoLogger
for usage by sub-classes.boolean
isTrim()
void
log(org.refcodes.tabular.Record<? extends T> aRecord)
void
setCsvEscapeMode(org.refcodes.textual.CsvEscapeMode aCsvEscapeMode)
void
setDelimiter(char aDelimiter)
void
setErrorPrintStream(java.io.PrintStream aErrorStream)
void
setPrintStream(java.io.PrintStream aOutputStream)
void
setTrim(boolean isTrim)
IoLogger<T>
withCsvEscapeMode(org.refcodes.textual.CsvEscapeMode aCsvEscapeMode)
IoLogger<T>
withDelimiter(char aDelimiterChar)
IoLogger<T>
withTrim(boolean isTrimRecords)
-
-
-
Field Detail
-
PROPERTY_ERROR_STREAM
public static final java.lang.String PROPERTY_ERROR_STREAM
- See Also:
- Constant Field Values
-
PROPERTY_OUTPUT_STREAM
public static final java.lang.String PROPERTY_OUTPUT_STREAM
- See Also:
- Constant Field Values
-
_header
protected org.refcodes.tabular.Header<T> _header
-
_errorStream
protected java.io.PrintStream _errorStream
-
_outputStream
protected java.io.PrintStream _outputStream
-
_csvBuilder
protected org.refcodes.textual.CsvBuilder _csvBuilder
-
-
Constructor Detail
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.File aFile) throws java.io.FileNotFoundException
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aFile
- TheFile
to be used for printing.- Throws:
java.io.FileNotFoundException
- If the given file object does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.File aFile, char aCsvDelimiter) throws java.io.FileNotFoundException
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aFile
- TheFile
to be used for printing.aCsvDelimiter
- The separator to be used when separating the CSV values in the log output.- Throws:
java.io.FileNotFoundException
- If the given file object does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
-
IoLogger
public IoLogger(java.io.File aInputFile, java.io.File aErrorFile) throws java.io.FileNotFoundException
Constructs aIoLogger
.- Parameters:
aInputFile
- TheFile
to be used for printing output.aErrorFile
- TheFile
to be used for printing errors.- Throws:
java.io.FileNotFoundException
- If the given file object does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.File aInputFile, java.io.File aErrorFile) throws java.io.FileNotFoundException
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aInputFile
- TheFile
to be used for printing output.aErrorFile
- TheFile
to be used for printing errors.- Throws:
java.io.FileNotFoundException
- If the given file object does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
-
IoLogger
public IoLogger(java.io.File aFile) throws java.io.FileNotFoundException
Constructs aIoLogger
.- Parameters:
aFile
- TheFile
to be used for writing to.- Throws:
java.io.FileNotFoundException
- If the given file object does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.OutputStream aOutputStream)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aOutputStream
- TheOutputStream
to be used for printing.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.OutputStream aOutputStream, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aOutputStream
- TheOutputStream
to be used for printing.aCsvDelimiter
- The separator to be used when separating the CSV values in the log output.
-
IoLogger
public IoLogger(java.io.OutputStream aOutputStream, java.io.OutputStream aErrorStream)
Constructs aIoLogger
.- Parameters:
aOutputStream
- TheOutputStream
to be used for printing output.aErrorStream
- TheOutputStream
to be used for printing errors.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.OutputStream aOutputStream, java.io.OutputStream aErrorStream)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aOutputStream
- TheOutputStream
to be used for printing output.aErrorStream
- TheOutputStream
to be used for printing errors.
-
IoLogger
public IoLogger(java.io.OutputStream aOutputStream)
Constructs aIoLogger
.- Parameters:
aOutputStream
- TheOutputStream
to be used for printing.
-
IoLogger
public IoLogger(java.io.PrintStream aPrintStream)
Constructs aIoLogger
.- Parameters:
aPrintStream
- ThePrintStream
to be used for printing.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aPrintStream)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aPrintStream
- ThePrintStream
to be used for printing.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aPrintStream, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aPrintStream
- ThePrintStream
to be used for printing.aCsvDelimiter
- The separator to be used when separating the CSV values in the log output.
-
IoLogger
public IoLogger(java.io.PrintStream aOutputStream, java.io.PrintStream aErrorStream)
Constructs aIoLogger
.- Parameters:
aOutputStream
- ThePrintStream
to be used for printing output.aErrorStream
- ThePrintStream
to be used for printing errors.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aOutputStream, java.io.PrintStream aErrorStream)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aOutputStream
- ThePrintStream
to be used for printing output.aErrorStream
- ThePrintStream
to be used for printing errors.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, java.io.PrintStream aOutputStream, java.io.PrintStream aErrorStream, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aOutputStream
- ThePrintStream
to be used for printing output.aErrorStream
- ThePrintStream
to be used for printing errors.aCsvDelimiter
- The separator to be used when separating the CSV values in the log output.
-
IoLogger
public IoLogger()
Constructs aIoLogger
.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.
-
IoLogger
public IoLogger(org.refcodes.tabular.Header<T> aHeader, char aCsvDelimiter)
Constructs aIoLogger
with the given header for logging.- Parameters:
aHeader
- The header used for logging in the correct format.aCsvDelimiter
- The separator to be used when separating the CSV values in the log output.
-
-
Method Detail
-
getCsvEscapeMode
public org.refcodes.textual.CsvEscapeMode getCsvEscapeMode()
- Specified by:
getCsvEscapeMode
in interfaceorg.refcodes.textual.CsvEscapeModeAccessor
-
isTrim
public boolean isTrim()
- Specified by:
isTrim
in interfaceorg.refcodes.mixin.TrimAccessor
-
getDelimiter
public char getDelimiter()
- Specified by:
getDelimiter
in interfaceorg.refcodes.mixin.DelimiterAccessor
-
setTrim
public void setTrim(boolean isTrim)
- Specified by:
setTrim
in interfaceorg.refcodes.mixin.TrimAccessor.TrimMutator
-
setDelimiter
public void setDelimiter(char aDelimiter)
- Specified by:
setDelimiter
in interfaceorg.refcodes.mixin.DelimiterAccessor.DelimiterMutator
-
withTrim
public IoLogger<T> withTrim(boolean isTrimRecords)
- Specified by:
withTrim
in interfaceorg.refcodes.mixin.TrimAccessor.TrimBuilder<T>
-
withCsvEscapeMode
public IoLogger<T> withCsvEscapeMode(org.refcodes.textual.CsvEscapeMode aCsvEscapeMode)
- Specified by:
withCsvEscapeMode
in interfaceorg.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeBuilder<T>
-
withDelimiter
public IoLogger<T> withDelimiter(char aDelimiterChar)
- Specified by:
withDelimiter
in interfaceorg.refcodes.mixin.DelimiterAccessor.DelimiterBuilder<T>
-
setCsvEscapeMode
public void setCsvEscapeMode(org.refcodes.textual.CsvEscapeMode aCsvEscapeMode)
- Specified by:
setCsvEscapeMode
in interfaceorg.refcodes.textual.CsvEscapeModeAccessor.CsvEscapeModeMutator
-
log
public void log(org.refcodes.tabular.Record<? extends T> aRecord) throws org.refcodes.logger.IllegalRecordRuntimeException, org.refcodes.logger.UnexpectedLogRuntimeException
- Specified by:
log
in interfaceorg.refcodes.logger.Logger<T>
- Throws:
org.refcodes.logger.IllegalRecordRuntimeException
org.refcodes.logger.UnexpectedLogRuntimeException
-
setErrorPrintStream
public void setErrorPrintStream(java.io.PrintStream aErrorStream)
- Specified by:
setErrorPrintStream
in interfaceorg.refcodes.mixin.ErrorPrintStreamAccessor.ErrorPrintStreamMutator
-
setPrintStream
public void setPrintStream(java.io.PrintStream aOutputStream)
- Specified by:
setPrintStream
in interfaceorg.refcodes.mixin.PrintStreamAccessor.PrintStreamMutator
-
-