001 /**
002 * Copyright (C) 2011-2012 Barchart, Inc. <http://www.barchart.com/>
003 *
004 * All rights reserved. Licensed under the OSI BSD License.
005 *
006 * http://www.opensource.org/licenses/bsd-license.php
007 */
008 package com.barchart.util.concurrent;
009
010 public class CancellableFutureNotifier<V, T extends FutureCallback<V, T>>
011 extends FutureNotifierBase<V, T> {
012
013 private FutureCallback<?, ?> parent;
014
015 public CancellableFutureNotifier() {
016 parent = null;
017 }
018
019 public CancellableFutureNotifier(final FutureCallback<?, ?> parent_) {
020 parent = parent_;
021 }
022
023 public void setCancelCallback(final FutureCallback<?, ?> parent_) {
024 parent = parent_;
025 }
026
027 @Override
028 public boolean cancel(final boolean mayInterrupt) {
029 if (parent != null) {
030 parent.cancel(mayInterrupt);
031 }
032 return super.cancel(mayInterrupt);
033 }
034
035 }