Package org.zeroturnaround.exec.listener
Class CompositeProcessListener
- java.lang.Object
-
- org.zeroturnaround.exec.listener.ProcessListener
-
- org.zeroturnaround.exec.listener.CompositeProcessListener
-
- All Implemented Interfaces:
java.lang.Cloneable
public class CompositeProcessListener extends ProcessListener implements java.lang.Cloneable
Composite process event handler.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<ProcessListener>
children
-
Constructor Summary
Constructors Constructor Description CompositeProcessListener()
CompositeProcessListener(java.util.List<ProcessListener> children)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(ProcessListener listener)
Add new listener.void
afterFinish(java.lang.Process process, ProcessResult result)
Invoked after a process has finished successfully.void
afterStart(java.lang.Process process, ProcessExecutor executor)
Invoked after a process has started.void
afterStop(java.lang.Process process)
Invoked after a process has exited (whether finished or cancelled).void
beforeStart(ProcessExecutor executor)
Invoked before a process is started.void
clear()
Remove all existing listeners.CompositeProcessListener
clone()
void
remove(ProcessListener listener)
Remove existing listener.void
removeAll(java.lang.Class<? extends ProcessListener> type)
Remove existing listeners of given type or its sub-types.
-
-
-
Field Detail
-
children
private final java.util.List<ProcessListener> children
-
-
Constructor Detail
-
CompositeProcessListener
public CompositeProcessListener()
-
CompositeProcessListener
public CompositeProcessListener(java.util.List<ProcessListener> children)
-
-
Method Detail
-
add
public void add(ProcessListener listener)
Add new listener.- Parameters:
listener
- listener to be added.
-
remove
public void remove(ProcessListener listener)
Remove existing listener.- Parameters:
listener
- listener to be removed.
-
removeAll
public void removeAll(java.lang.Class<? extends ProcessListener> type)
Remove existing listeners of given type or its sub-types.- Parameters:
type
- listener type.
-
clear
public void clear()
Remove all existing listeners.
-
clone
public CompositeProcessListener clone()
- Overrides:
clone
in classjava.lang.Object
-
beforeStart
public void beforeStart(ProcessExecutor executor)
Description copied from class:ProcessListener
Invoked before a process is started.- Overrides:
beforeStart
in classProcessListener
- Parameters:
executor
- executor used for starting a process. Any changes made here apply to the starting process. Once the process has started it is not affected by theProcessExecutor
any more.
-
afterStart
public void afterStart(java.lang.Process process, ProcessExecutor executor)
Description copied from class:ProcessListener
Invoked after a process has started.- Overrides:
afterStart
in classProcessListener
- Parameters:
process
- the process started.executor
- executor used for starting the process. Modifying theProcessExecutor
only affects the following processes not the one just started.
-
afterFinish
public void afterFinish(java.lang.Process process, ProcessResult result)
Description copied from class:ProcessListener
Invoked after a process has finished successfully.- Overrides:
afterFinish
in classProcessListener
- Parameters:
process
- process just finished.result
- result of the finished process.
-
afterStop
public void afterStop(java.lang.Process process)
Description copied from class:ProcessListener
Invoked after a process has exited (whether finished or cancelled).- Overrides:
afterStop
in classProcessListener
- Parameters:
process
- process just stopped.
-
-