Package org.apache.commons.io.input
Class Tailer.Builder
- java.lang.Object
-
- org.apache.commons.io.build.AbstractSupplier<T,B>
-
- org.apache.commons.io.build.AbstractOriginSupplier<T,B>
-
- org.apache.commons.io.build.AbstractStreamBuilder<Tailer,Tailer.Builder>
-
- org.apache.commons.io.input.Tailer.Builder
-
- All Implemented Interfaces:
IOSupplier<Tailer>
- Enclosing class:
- Tailer
public static class Tailer.Builder extends AbstractStreamBuilder<Tailer,Tailer.Builder>
Builds a newTailer.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:
get()
-
-
Field Summary
Fields Modifier and Type Field Description private static java.time.DurationDEFAULT_DELAY_DURATIONprivate java.time.DurationdelayDurationprivate java.util.concurrent.ExecutorServiceexecutorServiceprivate booleanreOpenprivate booleanstartThreadprivate Tailer.Tailabletailableprivate TailerListenertailerListenerprivate booleantailFromEnd
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Tailerget()Builds a newTailer.private static java.lang.ThreadnewDaemonThread(java.lang.Runnable runnable)Creates a new daemon thread.Tailer.BuildersetDelayDuration(java.time.Duration delayDuration)Sets the delay duration.Tailer.BuildersetExecutorService(java.util.concurrent.ExecutorService executorService)Sets the executor service to use when startThread is true.protected Tailer.BuildersetOrigin(AbstractOrigin<?,?> origin)Sets the origin.Tailer.BuildersetReOpen(boolean reOpen)Sets the re-open behavior.Tailer.BuildersetStartThread(boolean startThread)Sets the daemon thread startup behavior.Tailer.BuildersetTailable(Tailer.Tailable tailable)Sets the tailable.Tailer.BuildersetTailerListener(TailerListener tailerListener)Sets the listener.Tailer.BuildersetTailFromEnd(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, setOpenOptions
-
Methods 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, setWriter
-
Methods inherited from class org.apache.commons.io.build.AbstractSupplier
asThis
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.commons.io.function.IOSupplier
asSupplier, getUnchecked
-
-
-
-
Field Detail
-
DEFAULT_DELAY_DURATION
private static final java.time.Duration DEFAULT_DELAY_DURATION
-
tailable
private Tailer.Tailable tailable
-
tailerListener
private TailerListener tailerListener
-
delayDuration
private java.time.Duration delayDuration
-
tailFromEnd
private boolean tailFromEnd
-
reOpen
private boolean reOpen
-
startThread
private boolean startThread
-
executorService
private java.util.concurrent.ExecutorService executorService
-
-
Constructor Detail
-
Builder
public Builder()
Constructs a new builder ofTailer.
-
-
Method Detail
-
newDaemonThread
private static java.lang.Thread newDaemonThread(java.lang.Runnable runnable)
Creates a new daemon thread.- Parameters:
runnable- the thread's runnable.- Returns:
- a new daemon thread.
-
get
public Tailer 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:
IOSupplier.getUnchecked()
-
setDelayDuration
public Tailer.Builder setDelayDuration(java.time.Duration delayDuration)
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
public Tailer.Builder setExecutorService(java.util.concurrent.ExecutorService executorService)
Sets the executor service to use when startThread is true.- Parameters:
executorService- the executor service to use when startThread is true.- Returns:
thisinstance.
-
setOrigin
protected Tailer.Builder setOrigin(AbstractOrigin<?,?> origin)
Sets the origin.- Overrides:
setOriginin classAbstractOriginSupplier<Tailer,Tailer.Builder>- Parameters:
origin- the new origin.- Returns:
thisinstance.- Throws:
java.lang.UnsupportedOperationException- if the origin cannot be converted to a Path.
-
setReOpen
public Tailer.Builder setReOpen(boolean reOpen)
Sets the re-open behavior.- Parameters:
reOpen- whether to close/reopen the file between chunks- Returns:
thisinstance.
-
setStartThread
public Tailer.Builder setStartThread(boolean startThread)
Sets the daemon thread startup behavior.- Parameters:
startThread- whether to create a daemon thread automatically.- Returns:
thisinstance.
-
setTailable
public Tailer.Builder setTailable(Tailer.Tailable tailable)
Sets the tailable.- Parameters:
tailable- the tailable.- Returns:
thisinstance.
-
setTailerListener
public Tailer.Builder setTailerListener(TailerListener tailerListener)
Sets the listener.- Parameters:
tailerListener- the listener.- Returns:
thisinstance.
-
setTailFromEnd
public Tailer.Builder setTailFromEnd(boolean end)
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.
-
-