| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| NotifiableTask | 
 | 
 | 1.0;1 | 
| 1 |  /* | |
| 2 |   * This file is part of AceLogger. | |
| 3 |   *  | |
| 4 |   * AceLogger is free software: you can redistribute it and/or modify it under the terms of the GNU | |
| 5 |   * Lesser General Public License as published by the Free Software Foundation, either version 3 of | |
| 6 |   * the License, or (at your option) any later version. | |
| 7 |   *  | |
| 8 |   * AceLogger is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without | |
| 9 |   * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 10 |   * Lesser General Public License for more details. | |
| 11 |   *  | |
| 12 |   * You should have received a copy of the GNU Lesser General Public License along with AceLogger. | |
| 13 |   * If not, see <http://www.gnu.org/licenses/lgpl-3.0.html>. | |
| 14 |   */ | |
| 15 |  package net.sourceforge.acelogger.execution.task; | |
| 16 | ||
| 17 |  /** | |
| 18 |   * A {@link Runnable} implementation and wrapper that supports a call back for the execution of a | |
| 19 |   * task. | |
| 20 |   *  | |
| 21 |   * @author Zardi (https://sourceforge.net/users/daniel_zardi) | |
| 22 |   * @version 1.0.0 | |
| 23 |   * @since 1.0.0 | |
| 24 |   */ | |
| 25 | public class NotifiableTask implements Runnable { | |
| 26 | ||
| 27 |          /** | |
| 28 |           * The task that will be monitored for execution. | |
| 29 |           */ | |
| 30 | private final Runnable task; | |
| 31 | ||
| 32 |          /** | |
| 33 |           * The call back that will be executed after the task execution. | |
| 34 |           */ | |
| 35 | private final Runnable callback; | |
| 36 | ||
| 37 |          /** | |
| 38 |           * Constructs a new NotifiableTask with the given task and call back. | |
| 39 |           *  | |
| 40 |           * @param task | |
| 41 |           *            The task to be monitored. | |
| 42 |           * @param callback | |
| 43 |           *            The call back to be invoked after the task completion. | |
| 44 |           * @since 1.0.0 | |
| 45 |           */ | |
| 46 | 1 |          public NotifiableTask(Runnable task, Runnable callback) { | 
| 47 | 1 |                  this.task = task; | 
| 48 | 1 |                  this.callback = callback; | 
| 49 | 1 | } | 
| 50 | ||
| 51 |          /** {@inheritDoc} */ | |
| 52 | public void run() { | |
| 53 | 1 | task.run(); | 
| 54 | 0 |                  callback.run(); | 
| 55 | 0 |          } | 
| 56 | ||
| 57 | } |