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 aTailerwith default values.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
-
-
Field Summary
Fields Modifier and Type Field Description private static java.time.DurationDEFAULT_DELAY_DURATIONprivate java.time.DurationdelayDurationprivate booleanendprivate java.util.concurrent.ExecutorServiceexecutorServiceprivate booleanreOpenprivate booleanstartThreadprivate Tailer.Tailabletailableprivate TailerListenertailerListener
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Tailerget()Constructs a new instance.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, getInputStream, getOpenOptions, getOutputStream, getPath, 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, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOutputStream, setPath, setPath, 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
-
-
-
-
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
-
end
private boolean end
-
reOpen
private boolean reOpen
-
startThread
private boolean startThread
-
executorService
private java.util.concurrent.ExecutorService executorService
-
-
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()
Constructs a new instance.This builder use the aspects tailable, Charset, TailerListener, delayDuration, end, reOpen, buffer size.
- Returns:
- a new instance.
-
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:
- this
-
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:
- this
-
setOrigin
protected Tailer.Builder setOrigin(AbstractOrigin<?,?> origin)
Sets the origin.- Overrides:
setOriginin classAbstractOriginSupplier<Tailer,Tailer.Builder>- Parameters:
origin- the new origin.- Returns:
- this
- 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:
- this
-
setStartThread
public Tailer.Builder setStartThread(boolean startThread)
Sets the daemon thread startup behavior.- Parameters:
startThread- whether to create a daemon thread automatically.- Returns:
- this
-
setTailable
public Tailer.Builder setTailable(Tailer.Tailable tailable)
Sets the tailable.- Parameters:
tailable- the tailable.- Returns:
- this.
-
setTailerListener
public Tailer.Builder setTailerListener(TailerListener tailerListener)
Sets the listener.- Parameters:
tailerListener- the listener.- Returns:
- this
-
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:
- this
-
-