| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
| <!--NewPage--> | |
| <HTML> | |
| <HEAD> | |
| <!-- Generated by javadoc (build 1.6.0_20) on Wed Mar 14 23:31:23 PDT 2012 --> | |
| <TITLE> | |
| PollingIncrementalAdaptor | |
| </TITLE> | |
| <META NAME="date" CONTENT="2012-03-14"> | |
| <LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style"> | |
| <SCRIPT type="text/javascript"> | |
| function windowTitle() | |
| { | |
| if (location.href.indexOf('is-external=true') == -1) { | |
| parent.document.title="PollingIncrementalAdaptor"; | |
| } | |
| } | |
| </SCRIPT> | |
| <NOSCRIPT> | |
| </NOSCRIPT> | |
| </HEAD> | |
| <BODY BGCOLOR="white" onload="windowTitle();"> | |
| <HR> | |
| <!-- ========= START OF TOP NAVBAR ======= --> | |
| <A NAME="navbar_top"><!-- --></A> | |
| <A HREF="#skip-navbar_top" title="Skip navigation links"></A> | |
| <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> | |
| <TR> | |
| <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> | |
| <A NAME="navbar_top_firstrow"><!-- --></A> | |
| <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> | |
| <TR ALIGN="center" VALIGN="top"> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> | |
| <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> | |
| </TR> | |
| </TABLE> | |
| </TD> | |
| <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> | |
| </EM> | |
| </TD> | |
| </TR> | |
| <TR> | |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> | |
| <A HREF="../adaptorlib/IOHelper.html" title="class in adaptorlib"><B>PREV CLASS</B></A> | |
| <A HREF="../adaptorlib/PushErrorHandler.html" title="interface in adaptorlib"><B>NEXT CLASS</B></A></FONT></TD> | |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> | |
| <A HREF="../index.html?adaptorlib/PollingIncrementalAdaptor.html" target="_top"><B>FRAMES</B></A> | |
| <A HREF="PollingIncrementalAdaptor.html" target="_top"><B>NO FRAMES</B></A> | |
| <SCRIPT type="text/javascript"> | |
| <!-- | |
| if(window==top) { | |
| document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); | |
| } | |
| //--> | |
| </SCRIPT> | |
| <NOSCRIPT> | |
| <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> | |
| </NOSCRIPT> | |
| </FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> | |
| SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> | |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> | |
| DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> | |
| </TR> | |
| </TABLE> | |
| <A NAME="skip-navbar_top"></A> | |
| <!-- ========= END OF TOP NAVBAR ========= --> | |
| <HR> | |
| <!-- ======== START OF CLASS DATA ======== --> | |
| <H2> | |
| <FONT SIZE="-1"> | |
| adaptorlib</FONT> | |
| <BR> | |
| Interface PollingIncrementalAdaptor</H2> | |
| <DL> | |
| <DT><B>All Superinterfaces:</B> <DD><A HREF="../adaptorlib/Adaptor.html" title="interface in adaptorlib">Adaptor</A></DD> | |
| </DL> | |
| <HR> | |
| <DL> | |
| <DT><PRE>public interface <B>PollingIncrementalAdaptor</B><DT>extends <A HREF="../adaptorlib/Adaptor.html" title="interface in adaptorlib">Adaptor</A></DL> | |
| </PRE> | |
| <P> | |
| Interface for library-assisted polling incremental adaptors. This means that | |
| the adaptor can provide incremental changes, must poll to notice changes, | |
| and wants the adaptor library to help out. | |
| <p>If the adaptor has no <em>easy</em> way of determining repository changes, | |
| then it should not implement this interface and let the GSA naturally find | |
| changes. If the adaptor can use an event-based method of discovering changes, | |
| it should use that method instead. If an adaptor doesn't want to relinguish | |
| control to the frequency of the polling and other such details, then there is | |
| no need to use this interface; simply manually using <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Timer.html?is-external=true" title="class or interface in java.util"><CODE>Timer</CODE></A> | |
| is appropriate for a adaptor to do if it wishes. | |
| <p>Implementing this interface does improve the ease of configuring the | |
| adaptor for the user. Thus, adaptors are encouraged to implement this | |
| interface if it is applicable. | |
| <P> | |
| <P> | |
| <HR> | |
| <P> | |
| <!-- ========== METHOD SUMMARY =========== --> | |
| <A NAME="method_summary"><!-- --></A> | |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
| <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> | |
| <B>Method Summary</B></FONT></TH> | |
| </TR> | |
| <TR BGCOLOR="white" CLASS="TableRowColor"> | |
| <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> | |
| <CODE> void</CODE></FONT></TD> | |
| <TD><CODE><B><A HREF="../adaptorlib/PollingIncrementalAdaptor.html#getModifiedDocIds(adaptorlib.DocIdPusher)">getModifiedDocIds</A></B>(<A HREF="../adaptorlib/DocIdPusher.html" title="interface in adaptorlib">DocIdPusher</A> pusher)</CODE> | |
| <BR> | |
| Check for documents modified since the last call to the method.</TD> | |
| </TR> | |
| </TABLE> | |
| <A NAME="methods_inherited_from_class_adaptorlib.Adaptor"><!-- --></A> | |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
| <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> | |
| <TH ALIGN="left"><B>Methods inherited from interface adaptorlib.<A HREF="../adaptorlib/Adaptor.html" title="interface in adaptorlib">Adaptor</A></B></TH> | |
| </TR> | |
| <TR BGCOLOR="white" CLASS="TableRowColor"> | |
| <TD><CODE><A HREF="../adaptorlib/Adaptor.html#destroy()">destroy</A>, <A HREF="../adaptorlib/Adaptor.html#getDocContent(adaptorlib.Request, adaptorlib.Response)">getDocContent</A>, <A HREF="../adaptorlib/Adaptor.html#getDocIds(adaptorlib.DocIdPusher)">getDocIds</A>, <A HREF="../adaptorlib/Adaptor.html#init(adaptorlib.AdaptorContext)">init</A>, <A HREF="../adaptorlib/Adaptor.html#initConfig(adaptorlib.Config)">initConfig</A>, <A HREF="../adaptorlib/Adaptor.html#isUserAuthorized(adaptorlib.AuthnIdentity, java.util.Collection)">isUserAuthorized</A></CODE></TD> | |
| </TR> | |
| </TABLE> | |
| | |
| <P> | |
| <!-- ============ METHOD DETAIL ========== --> | |
| <A NAME="method_detail"><!-- --></A> | |
| <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> | |
| <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> | |
| <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> | |
| <B>Method Detail</B></FONT></TH> | |
| </TR> | |
| </TABLE> | |
| <A NAME="getModifiedDocIds(adaptorlib.DocIdPusher)"><!-- --></A><H3> | |
| getModifiedDocIds</H3> | |
| <PRE> | |
| void <B>getModifiedDocIds</B>(<A HREF="../adaptorlib/DocIdPusher.html" title="interface in adaptorlib">DocIdPusher</A> pusher) | |
| throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A>, | |
| <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</A></PRE> | |
| <DL> | |
| <DD>Check for documents modified since the last call to the method. This method | |
| is intended to provide little-effort updates to the GSA about recent | |
| modifications. Providing updates here allows greatly decreasing the amount | |
| of latency before the GSA notices a document was added/modified/deleted, | |
| but nothing more. It does not need to be perfect since the GSA's recrawling | |
| will notice modifications and deletions and <A HREF="../adaptorlib/Adaptor.html#getDocIds(adaptorlib.DocIdPusher)"><CODE>Adaptor.getDocIds(adaptorlib.DocIdPusher)</CODE></A> will | |
| provide additions. | |
| <p>For the first invocation, implementations can simply provide a small | |
| amount of very recent history (e.g., last five revisions or last hour of | |
| modifications) or provide no history and just initialize data structures | |
| for future invocations. Adaptors are always encouraged to not persist | |
| state; providing recent history during the first invocation allows the | |
| adaptor to handle upgrades, computer restarts, and power outages without | |
| trouble and still provide low-latency for those time periods. If an hour is | |
| too short a period of time, then feel free to send a day's worth of history | |
| instead. However, remember that missing modifications here only increases | |
| the amount of latency before the GSA notices the modification. | |
| <P> | |
| <DD><DL> | |
| </DL> | |
| </DD> | |
| <DD><DL> | |
| <DT><B>Parameters:</B><DD><CODE>pusher</CODE> - convenience reference to pusher | |
| <DT><B>Throws:</B> | |
| <DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> | |
| <DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</A></CODE></DL> | |
| </DD> | |
| </DL> | |
| <!-- ========= END OF CLASS DATA ========= --> | |
| <HR> | |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> | |
| <A NAME="navbar_bottom"><!-- --></A> | |
| <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> | |
| <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> | |
| <TR> | |
| <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> | |
| <A NAME="navbar_bottom_firstrow"><!-- --></A> | |
| <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> | |
| <TR ALIGN="center" VALIGN="top"> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> | |
| <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> | |
| <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> | |
| </TR> | |
| </TABLE> | |
| </TD> | |
| <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> | |
| </EM> | |
| </TD> | |
| </TR> | |
| <TR> | |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> | |
| <A HREF="../adaptorlib/IOHelper.html" title="class in adaptorlib"><B>PREV CLASS</B></A> | |
| <A HREF="../adaptorlib/PushErrorHandler.html" title="interface in adaptorlib"><B>NEXT CLASS</B></A></FONT></TD> | |
| <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> | |
| <A HREF="../index.html?adaptorlib/PollingIncrementalAdaptor.html" target="_top"><B>FRAMES</B></A> | |
| <A HREF="PollingIncrementalAdaptor.html" target="_top"><B>NO FRAMES</B></A> | |
| <SCRIPT type="text/javascript"> | |
| <!-- | |
| if(window==top) { | |
| document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>'); | |
| } | |
| //--> | |
| </SCRIPT> | |
| <NOSCRIPT> | |
| <A HREF="../allclasses-noframe.html"><B>All Classes</B></A> | |
| </NOSCRIPT> | |
| </FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> | |
| SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> | |
| <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> | |
| DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> | |
| </TR> | |
| </TABLE> | |
| <A NAME="skip-navbar_bottom"></A> | |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> | |
| <HR> | |
| </BODY> | |
| </HTML> |