--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<!--NewPage-->\r
+<HTML>\r
+<HEAD>\r
+<!-- Generated by javadoc (build 1.6.0_14) on Wed Feb 17 16:46:50 GMT 2010 -->\r
+<TITLE>\r
+_TrackingExecutor\r
+</TITLE>\r
+\r
+<META NAME="date" CONTENT="2010-02-17">\r
+\r
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">\r
+\r
+<SCRIPT type="text/javascript">\r
+function windowTitle()\r
+{\r
+ if (location.href.indexOf('is-external=true') == -1) {\r
+ parent.document.title="_TrackingExecutor";\r
+ }\r
+}\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+</NOSCRIPT>\r
+\r
+</HEAD>\r
+\r
+<BODY BGCOLOR="white" onload="windowTitle();">\r
+<HR>\r
+\r
+\r
+<!-- ========= START OF TOP NAVBAR ======= -->\r
+<A NAME="navbar_top"><!-- --></A>\r
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_top_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
+ <TR ALIGN="center" VALIGN="top">\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/_TrackingExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>\r
+ </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+ PREV CLASS \r
+ <A HREF="../../../compbio/engine/local/AsyncLocalRunner.html" title="class in compbio.engine.local"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+ <A HREF="../../../index.html?compbio/engine/local/_TrackingExecutor.html" target="_top"><B>FRAMES</B></A> \r
+ <A HREF="_TrackingExecutor.html" target="_top"><B>NO FRAMES</B></A> \r
+ <SCRIPT type="text/javascript">\r
+ <!--\r
+ if(window==top) {\r
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
+ }\r
+ //-->\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>\r
+</NOSCRIPT>\r
+\r
+\r
+</FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<A NAME="skip-navbar_top"></A>\r
+<!-- ========= END OF TOP NAVBAR ========= -->\r
+\r
+<HR>\r
+<!-- ======== START OF CLASS DATA ======== -->\r
+<H2>\r
+<FONT SIZE="-1">\r
+compbio.engine.local</FONT>\r
+<BR>\r
+Class _TrackingExecutor</H2>\r
+<PRE>\r
+java.lang.Object\r
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.util.concurrent.AbstractExecutorService\r
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>compbio.engine.local._TrackingExecutor</B>\r
+</PRE>\r
+<DL>\r
+<DT><B>All Implemented Interfaces:</B> <DD>java.util.concurrent.Executor, java.util.concurrent.ExecutorService</DD>\r
+</DL>\r
+<HR>\r
+<DL>\r
+<DT><PRE>public class <B>_TrackingExecutor</B><DT>extends java.util.concurrent.AbstractExecutorService</DL>\r
+</PRE>\r
+\r
+<P>\r
+This executor extends standard Java ExecutorService by adding the method to
+ obtain all Runnables which were running and did not complete upon executor
+ termination. For this to work properly Runnables must propagate an
+ Interruption exceptions, not swallow them, which a good Runnable should do
+ anyway.
+
+ TODO it may be better to persists task from different place\r
+<P>\r
+\r
+<P>\r
+<DL>\r
+<DT><B>Author:</B></DT>\r
+ <DD>pvtroshin</DD>\r
+</DL>\r
+<HR>\r
+\r
+<P>\r
+\r
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->\r
+\r
+<A NAME="constructor_summary"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
+<B>Constructor Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#_TrackingExecutor(java.util.concurrent.ExecutorService)">_TrackingExecutor</A></B>(java.util.concurrent.ExecutorService executor)</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+</TABLE>\r
+ \r
+<!-- ========== METHOD SUMMARY =========== -->\r
+\r
+<A NAME="method_summary"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
+<B>Method Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#awaitTermination(long, java.util.concurrent.TimeUnit)">awaitTermination</A></B>(long timeout,\r
+ java.util.concurrent.TimeUnit unit)</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#execute(java.lang.Runnable)">execute</A></B>(java.lang.Runnable runnable)</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> java.util.List</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#getCancelledTasks()">getCancelledTasks</A></B>()</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#isShutdown()">isShutdown</A></B>()</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#isTerminated()">isTerminated</A></B>()</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#shutdown()">shutdown</A></B>()</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE> java.util.List<java.lang.Runnable></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#shutdownNow()">shutdownNow</A></B>()</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">\r
+<TR ALIGN="right" VALIGN="">\r
+<TD NOWRAP><FONT SIZE="-1">\r
+<CODE><T> java.util.concurrent.Future<T></CODE></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../compbio/engine/local/_TrackingExecutor.html#submit(java.util.concurrent.Callable)">submit</A></B>(java.util.concurrent.Callable<T> task)</CODE>\r
+\r
+<BR>\r
+ </TD>\r
+</TR>\r
+</TABLE>\r
+ <A NAME="methods_inherited_from_class_java.util.concurrent.AbstractExecutorService"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Methods inherited from class java.util.concurrent.AbstractExecutorService</B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE>invokeAll, invokeAll, invokeAny, invokeAny, submit, submit</CODE></TD>\r
+</TR>\r
+</TABLE>\r
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>\r
+</TR>\r
+</TABLE>\r
+ \r
+<P>\r
+\r
+<!-- ========= CONSTRUCTOR DETAIL ======== -->\r
+\r
+<A NAME="constructor_detail"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
+<B>Constructor Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="_TrackingExecutor(java.util.concurrent.ExecutorService)"><!-- --></A><H3>\r
+_TrackingExecutor</H3>\r
+<PRE>\r
+public <B>_TrackingExecutor</B>(java.util.concurrent.ExecutorService executor)</PRE>\r
+<DL>\r
+</DL>\r
+\r
+<!-- ============ METHOD DETAIL ========== -->\r
+\r
+<A NAME="method_detail"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
+<B>Method Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="getCancelledTasks()"><!-- --></A><H3>\r
+getCancelledTasks</H3>\r
+<PRE>\r
+public java.util.List <B>getCancelledTasks</B>()</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="execute(java.lang.Runnable)"><!-- --></A><H3>\r
+execute</H3>\r
+<PRE>\r
+public void <B>execute</B>(java.lang.Runnable runnable)</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="submit(java.util.concurrent.Callable)"><!-- --></A><H3>\r
+submit</H3>\r
+<PRE>\r
+public <T> java.util.concurrent.Future<T> <B>submit</B>(java.util.concurrent.Callable<T> task)</PRE>\r
+<DL>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE>submit</CODE> in interface <CODE>java.util.concurrent.ExecutorService</CODE><DT><B>Overrides:</B><DD><CODE>submit</CODE> in class <CODE>java.util.concurrent.AbstractExecutorService</CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="awaitTermination(long, java.util.concurrent.TimeUnit)"><!-- --></A><H3>\r
+awaitTermination</H3>\r
+<PRE>\r
+public boolean <B>awaitTermination</B>(long timeout,\r
+ java.util.concurrent.TimeUnit unit)\r
+ throws java.lang.InterruptedException</PRE>\r
+<DL>\r
+<DD><DL>\r
+\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.lang.InterruptedException</CODE></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="isShutdown()"><!-- --></A><H3>\r
+isShutdown</H3>\r
+<PRE>\r
+public boolean <B>isShutdown</B>()</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="isTerminated()"><!-- --></A><H3>\r
+isTerminated</H3>\r
+<PRE>\r
+public boolean <B>isTerminated</B>()</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="shutdown()"><!-- --></A><H3>\r
+shutdown</H3>\r
+<PRE>\r
+public void <B>shutdown</B>()</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="shutdownNow()"><!-- --></A><H3>\r
+shutdownNow</H3>\r
+<PRE>\r
+public java.util.List<java.lang.Runnable> <B>shutdownNow</B>()</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<!-- ========= END OF CLASS DATA ========= -->\r
+<HR>\r
+\r
+\r
+<!-- ======= START OF BOTTOM NAVBAR ====== -->\r
+<A NAME="navbar_bottom"><!-- --></A>\r
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_bottom_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
+ <TR ALIGN="center" VALIGN="top">\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/_TrackingExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>\r
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>\r
+ </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+ PREV CLASS \r
+ <A HREF="../../../compbio/engine/local/AsyncLocalRunner.html" title="class in compbio.engine.local"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+ <A HREF="../../../index.html?compbio/engine/local/_TrackingExecutor.html" target="_top"><B>FRAMES</B></A> \r
+ <A HREF="_TrackingExecutor.html" target="_top"><B>NO FRAMES</B></A> \r
+ <SCRIPT type="text/javascript">\r
+ <!--\r
+ if(window==top) {\r
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
+ }\r
+ //-->\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>\r
+</NOSCRIPT>\r
+\r
+\r
+</FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<A NAME="skip-navbar_bottom"></A>\r
+<!-- ======== END OF BOTTOM NAVBAR ======= -->\r
+\r
+<HR>\r
+\r
+</BODY>\r
+</HTML>\r