Package org.apache.commons.io.input
Class Tailer.Builder
java.lang.Object
org.apache.commons.io.build.AbstractSupplier<Tailer,Tailer.Builder>
org.apache.commons.io.build.AbstractOriginSupplier<Tailer,Tailer.Builder>
org.apache.commons.io.build.AbstractStreamBuilder<Tailer,Tailer.Builder>
org.apache.commons.io.input.Tailer.Builder
- All Implemented Interfaces:
IOSupplier<Tailer>
- Enclosing class:
Tailer
Builds a new
Tailer.
For example:
Tailer t = Tailer.builder()
.setPath(path)
.setCharset(StandardCharsets.UTF_8)
.setDelayDuration(Duration.ofSeconds(1))
.setExecutorService(Executors.newSingleThreadExecutor(Builder::newDaemonThread))
.setReOpen(false)
.setStartThread(true)
.setTailable(tailable)
.setTailerListener(tailerListener)
.setTailFromEnd(false)
.get();
- Since:
- 2.12.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Durationprivate Durationprivate ExecutorServiceprivate booleanprivate booleanprivate booleanprivate Tailer.Tailableprivate TailerListenerprivate boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionget()Builds a newTailer.private static ThreadnewDaemonThread(Runnable runnable) Creates a new daemon thread.setDelayDuration(Duration delayDuration) Sets the delay duration.setExecutorService(ExecutorService executorService) Sets the executor service to use when startThread is true.setIgnoreTouch(boolean ignoreTouch) Sets whether a change in timestamp causes the file to be re-read.protected Tailer.BuildersetOrigin(AbstractOrigin<?, ?> origin) Sets the origin.setReOpen(boolean reOpen) Sets the re-open behavior.setStartThread(boolean startThread) Sets the daemon thread startup behavior.setTailable(Tailer.Tailable tailable) Sets the tailable.setTailerListener(TailerListener tailerListener) Sets the listener.setTailFromEnd(boolean end) Sets the tail start behavior.Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder
getBufferSize, getBufferSizeDefault, getCharSequence, getCharset, getCharsetDefault, getFile, getInputStream, getOpenOptions, getOutputStream, getPath, getRandomAccessFile, getReader, getWriter, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeDefault, setBufferSizeMax, setCharset, setCharset, setCharsetDefault, setOpenOptionsMethods inherited from class org.apache.commons.io.build.AbstractOriginSupplier
checkOrigin, getOrigin, hasOrigin, newByteArrayOrigin, newCharSequenceOrigin, newFileOrigin, newFileOrigin, newInputStreamOrigin, newOutputStreamOrigin, newPathOrigin, newPathOrigin, newRandomAccessFileOrigin, newRandomAccessFileOrigin, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOutputStream, setPath, setPath, setRandomAccessFile, setRandomAccessFile, setReader, setURI, setWriterMethods inherited from class org.apache.commons.io.build.AbstractSupplier
asThisMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.commons.io.function.IOSupplier
asSupplier, getUnchecked
-
Field Details
-
DEFAULT_DELAY_DURATION
-
tailable
-
tailerListener
-
delayDuration
-
tailFromEnd
private boolean tailFromEnd -
reOpen
private boolean reOpen -
startThread
private boolean startThread -
ignoreTouch
private boolean ignoreTouch -
executorService
-
-
Constructor Details
-
Builder
public Builder()Constructs a new builder ofTailer.
-
-
Method Details
-
newDaemonThread
Creates a new daemon thread.- Parameters:
runnable- the thread's runnable.- Returns:
- a new daemon thread.
-
get
Builds a newTailer.This builder uses the following aspects:
AbstractStreamBuilder.getBufferSize()AbstractStreamBuilder.getCharset()Tailer.TailableTailerListener- delayDuration
- tailFromEnd
- reOpen
- Returns:
- a new instance.
- See Also:
-
setDelayDuration
Sets the delay duration. null resets to the default delay of one second.- Parameters:
delayDuration- the delay between checks of the file for new content.- Returns:
thisinstance.
-
setExecutorService
Sets the executor service to use when startThread is true.- Parameters:
executorService- the executor service to use when startThread is true.- Returns:
thisinstance.
-
setIgnoreTouch
Sets whether a change in timestamp causes the file to be re-read.Useful when your watched file gets touched (the timestamps is more recent without changing the file) or when a file system updates a timestamp before a file's content. The default (false) re-reads the current file, while true does nothing.
- Parameters:
ignoreTouch- Whether a change in timestamp causes the file to be re-read.- Returns:
thisinstance.- Since:
- 2.20.0
-
setOrigin
Sets the origin.- Overrides:
setOriginin classAbstractOriginSupplier<Tailer,Tailer.Builder> - Parameters:
origin- the new origin.- Returns:
thisinstance.- Throws:
UnsupportedOperationException- if the origin cannot be converted to a Path.
-
setReOpen
Sets the re-open behavior.- Parameters:
reOpen- whether to close/reopen the file between chunks- Returns:
thisinstance.
-
setStartThread
Sets the daemon thread startup behavior.- Parameters:
startThread- whether to create a daemon thread automatically.- Returns:
thisinstance.
-
setTailable
Sets the tailable.- Parameters:
tailable- the tailable.- Returns:
thisinstance.
-
setTailerListener
Sets the listener.- Parameters:
tailerListener- the listener.- Returns:
thisinstance.
-
setTailFromEnd
Sets the tail start behavior.- Parameters:
end- Set to true to tail from the end of the file, false to tail from the beginning of the file.- Returns:
thisinstance.
-