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 aTailer
with 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.Duration
DEFAULT_DELAY_DURATION
private java.time.Duration
delayDuration
private boolean
end
private java.util.concurrent.ExecutorService
executorService
private boolean
reOpen
private boolean
startThread
private Tailer.Tailable
tailable
private TailerListener
tailerListener
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Tailer
get()
Constructs a new instance.private static java.lang.Thread
newDaemonThread(java.lang.Runnable runnable)
Creates a new daemon thread.Tailer.Builder
setDelayDuration(java.time.Duration delayDuration)
Sets the delay duration.Tailer.Builder
setExecutorService(java.util.concurrent.ExecutorService executorService)
Sets the executor service to use when startThread is true.protected Tailer.Builder
setOrigin(AbstractOrigin<?,?> origin)
Sets the origin.Tailer.Builder
setReOpen(boolean reOpen)
Sets the re-open behavior.Tailer.Builder
setStartThread(boolean startThread)
Sets the daemon thread startup behavior.Tailer.Builder
setTailable(Tailer.Tailable tailable)
Sets the tailable.Tailer.Builder
setTailerListener(TailerListener tailerListener)
Sets the listener.Tailer.Builder
setTailFromEnd(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, setBufferSizeDefault, 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:
setOrigin
in 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
-
-