/**
 *   Copyright (c) Shantanu Kumar. All rights reserved.
 *   The use and distribution terms for this software are covered by the
 *   Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
 *   which can be found in the file LICENSE at the root of this distribution.
 *   By using this software in any fashion, you are agreeing to be bound by
 * 	 the terms of this license.
 *   You must not remove this notice, or any other, from this software.
 **/

package preflex.instrument.concurrent;

import java.util.Collection;
import java.util.concurrent.Callable;

public interface ConcurrentEventFactory<ThreadPoolEvent, FutureEvent, ExecutionEvent> {

	public ThreadPoolEvent runnableSubmissionEvent(Runnable command);
	public <V> ThreadPoolEvent callableSubmissionEvent(Callable<V> command);
	public <V> ThreadPoolEvent callableCollectionSubmissionEvent(Collection<? extends Callable<V>> callables);
	public ThreadPoolEvent shutdownEvent();

	public <V> ExecutionEvent callableExecutionEvent(Callable<V> task);
	public ExecutionEvent runnableExecutionEvent(Runnable task);

	public FutureEvent cancellationEvent();
	public FutureEvent resultFetchEvent();

}

@@ -364,17 +364,17 @@
 d by%0A * 
-%09
+ 
  the ter
@@ -668,17 +668,20 @@
 ent%3E %7B%0A%0A
-%09
+    
 public T
@@ -730,33 +730,36 @@
 nable command);%0A
-%09
+    
 public %3CV%3E Threa
@@ -815,17 +815,20 @@
 mmand);%0A
-%09
+    
 public %3C
@@ -926,17 +926,20 @@
 ables);%0A
-%09
+    
 public T
@@ -967,25 +967,28 @@
 wnEvent();%0A%0A
-%09
+    
 public %3CV%3E E
@@ -1043,17 +1043,20 @@
  task);%0A
-%09
+    
 public E
@@ -1109,17 +1109,20 @@
 task);%0A%0A
-%09
+    
 public F
@@ -1157,9 +1157,12 @@
 ();%0A
-%09
+    
 publ

replace tab indentation with spaces