<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>CommandStreamParser</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="CommandStreamParser";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/enterprise/adaptor/AuthzStatus.html" title="enum in com.google.enterprise.adaptor"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../com/google/enterprise/adaptor/Config.html" title="class in com.google.enterprise.adaptor"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/enterprise/adaptor/CommandStreamParser.html" target="_top">FRAMES</a></li>
<li><a href="CommandStreamParser.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<p class="subTitle">com.google.enterprise.adaptor</p>
<h2 title="Class CommandStreamParser" class="title">Class CommandStreamParser</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.enterprise.adaptor.CommandStreamParser</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <strong>CommandStreamParser</strong>
extends <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Parses the adaptor data format into individual commands with associated data.

 This format is used for communication between the adaptor library and various command line
 adaptor components (lister, retriever, transformer, authorizer, etc.). It supports responses
 coming back from the command line adaptor implementation. The format supports a mixture of
 character and binary data. All character data must be encoded in UTF-8.<p>

 Character data technically supports a 'modified UTF-8'. The modified UTF-8 encoding allows
 newlines and the null character to be encoded as 2-bytes instead of one. Instead of byte 0x00,
 the null character \0 can be encoded as 0xC0 0x80. Instead of byte 0x0a, the line feed character
 \n can be encoded as 0xC0 0x8a.<p>

 <h3>Header Format</h3>

 Communications (via either file or stream) begin with the header:<p>

 <code>GSA Adaptor Data Version 1 [&lt;delimiter&gt;]</code><p>

 The version number must be proceeded by a single space and followed by a single space. The
 version number may increase in the future should the format be enhanced.<p>

 The string between the two square brackets will be used as the delimiter for the remainder of the
 file being read or for the duration of the communication session.<p>

 Care must be taken that the delimiter character string can never occur in a document ID, metadata
 name, metadata value, user name, or any other data that will be represented using the format with
 the exception of document contents, which can contain the delimiter string. The safest delimiter
 is likely to be the null character (the character with a value of zero). This character is
 unlikely to be present in existing names, paths, metadata, etc. Another possible choice is the
 newline character, though in many systems it is possible for this character to be present in
 document names and document paths, etc. If in doubt, the null character is recommended. Because
 modified UTF-8 is supported, newlines or null characters in document IDs, metadata, and the like
 can be encoded in their 2-byte form which which will not be confused with the delimiter. A
 delimiter can be made up of more than one character so it is possible to have a delimiter that is
 <CR><LF> or a highly unique string (such as a GUID) that has an exceptionally low probability of
 occurring in the data.<p>

 The following characters may not be used in the delimiter:<p> 'A'-'Z', 'a'-'z' and '0'-'9' the
 alphanumeric characters<br> ':'  colon<br> '/'  slash<br> '-'  hyphen<br> '_'  underscore<br> ' '
 space<br> '=' equals<br> '+' plus<br> '[' left square bracket<br> ']' right square bracket<p>

 <h3>Body Format</h3> Elements in the file start with one of the following commands. Commands
 where data precedes the next delimiter include an equal sign. Commands that are immediately
 followed by a delimiter do not include an equal sign. The first command must specify a document
 ID ("id=" or "id-list"). Command that don't specify a document ID are associated with the most
 recent previously specified document ID.<p>

 <h1>Common Commands:</h1>

 "id=" -- specifies a document id<p>

 "id-list" -- Starts a list of document ids each separated by
 the specified delimiter, the list is terminated by two consecutive delimiters or EOS
 (End-Of-Stream). ids in an id-list cannot have any of the associated commands listed below.<p>

 "repository-unavailable=" -- the document repository is unavailable. The string following the "="
 character includes additional information that will be logged with the error.


 <h1>Lister Commands:</h1>

 "result-link=" -- specifies an alternative link to be displayed in the search results.
 This must be a properly formed URL. A "result link" is sometimes referred to as a "display URL".
 If no results-link is specified then the URL used for crawling is also used in the
 search results.<p>

 "last-modified=" -- Specifies the last time the document or its metadata has changed.
 The argument is a number representing the number of seconds since the standard base
 time known as the epoch", namely January 1, 1970, 00:00:00 GMT. If last-modified is specified
 and the document has never been crawled before or has been crawled prior to the last-modified
 time then the ocument will be marked as "crawl-immediately" by the GSA.<p>

 "crawl-immediately" -- Increases the crawling priority of the document such
 that the GSA will retrieve it sooner than normally crawled documents.<p>

 "crawl-once" -- specifies that the document will be crawled by the
                 GSA one time but then never re-crawled.<p>

 "lock" -- Causes the document to remain in the index unless explicitly removed.
 Failure to retrieve the document during re-crawling will not result in
 removal of the document. If every document in the GSA is
 locked then locked document may be forced out when maximum capacity is
 reached.<p>

 "delete" -- this document should be deleted from the GSA index.<p>

 <h1>Retriever Commands:</h1>

 "up-to-date" -- specifies that the document is up-to-date with respect to its last crawled
 time.<p>

 "not-found" -- the document does not exists in the repository<p>

 "mime-type=" -- specifies the document's mime-type. If unspecified then the GSA will
 automatically assign a type to the document. <p>

 "meta-name=" -- specifies a metadata key, to be followed by a metadata-value<p>

 "meta-value=" -- specifies a metadata value associated with
 immediately preceding metadata-name<p>

 "content" -- signals the beginning of binary content which
 continues to the end of the file or stream<p>

 "last-modified=" -- specifies the last time the document or its metadata has changed.
 The argument is a number representing the number of seconds since the standard base
 time known as the epoch", namely January 1, 1970, 00:00:00 GMT.<p>

 "secure=" -- specifies whether the document is non-public. The argument is either 'true' or
 'false'.<p>

 "anchor-uri=" -- specifies an anchor URI, to be followed by anchor-text.<p>

 "anchor-text=" -- specifies the text associated with an anchor-uri.<p>

 "no-index=" -- specifies whether the document should be indexed by the GSA. The argument is
 either 'true' or 'false'.<p>

 "no-follow=" -- specifies whether the document's links should be followed by the GSA. The
 argument is either 'true' or 'false'.<p>

 "no-archive=" -- specifies whether GSA document will allow the user to see a cached version of
 the document. The argument is either 'true' or 'false'.<p>

 "display-url=" -- specifies an alternative link to be displayed in the search results.
 This must be a properly formed URL.<p>

 "crawl-once=" -- specifies that the document will be crawled by the
 GSA one time but then never re-crawled. The argument should be 'true' or 'false'.<p>

 "lock=" -- Causes the document to remain in the index unless explicitly removed.
 If every document in the GSA is locked then locked document may be forced out when maximum
 capacity is reached.<p>

 "acl" -- when provided, an ACL is sent along with document. The ACL is made of 
 values provided for other commands starting with "acl-" and "namespace"
 command. If no acl command is provided then all other ACL commands are 
 ignored. <p>

 "namespace=" -- namespace used on all user and group principals until another
 another namespace is provided.  Defaults to the default namespace.<p>

 "acl-permit-user=" -- a user name, either with domain or without, that will
 be permitted to view document being returned.<p>

 "acl-deny-user=" -- a user name, either with domain or without, that will
 be denied access to document being returned.<p>

 "acl-permit-group=" -- a group name, either with domain or without, that 
 will be permitted to view document being returned.<p>

 "acl-deny-group=" -- a group name, either with domain or without, that
 will be denied to view document being returned.<p>

 "acl-inherit-from=" -- document id that this document inherits permissions
 from. <p>

 "acl-inherit-fragment=" -- optional fragment supplementing acl-inherit-from.
 Together acl-inherit-from and acl-inherit-fragment are what is being
 inherited from.<p>
 
 "acl-inheritance-type=" -- the type of inheritance <code>com.google.enterprise.adaptor.Acl.InheritanceType</code>.  Valid values are:
 and-both-permit, child-overrides, leaf-node, and parent-overrides<p>

 "acl-case-sensitive=" -- the principals of this document are case sensitive.
 <p>

 "acl-case-insensitive=" -- the principals of this document are case
 insensitive. <p>

 <h1>Authorizer Commands:</h1>

 "authz-status=" -- specifies whether a document is visible to a
     specified user. The argument must be PERMIT, DENY or INDETERMINATE<p>

  "user=" -- specifies the user for whom the authorization check will be made<p>

  "password=" -- specifies the password for the user. (optional)<p>
    
  "group=" -- specifies a security group to which the user belongs.<p>

 End-of-stream terminates the data transmission. Multiple consecutive delimiters are collapsed
 into a single delimiter and terminates the current id-list should one exist.<p>

 Unrecognized commands generate a warning but are otherwise ignored.

 <h3>Examples</h3>

 Example 1:<p>

 <pre>
 <code>GSA Adaptor Data Version 1 [&lt;delimiter&gt;]
 id-list
 /home/repository/docs/file1
 /home/repository/docs/file2
 /home/repository/docs/file3
 /home/repository/docs/file4
 /home/repository/docs/file5
 </code></pre>

 Example 2:<p>

 <pre>
 <code>GSA Adaptor Data Version 1 [&lt;delimiter&gt;]
 id=/home/repository/docs/file1
 id=/home/repository/docs/file2
 crawl-immediately
 last-modified=20110803 16:07:23

 meta-name=Department
 meta-content=Engineering

 meta-name=Creator
 meta-content=howardhawks

 id=/home/repository/docs/file3
 id=/home/repository/docs/file4
 id=/home/repository/docs/file5
 </code></pre>

 Data passed to command line authorizer via stdin for authz check.
 Entries will always occur in this order: user, password, group, id.
 password and group information is optional. Any number of group and
 id entries can exist. Each of the documents with a listed id should
 be checked.
 <pre>
 <code>GSA Adaptor Data Version 1 [&lt;delimiter&gt;]
 user=tim_smith
 password=abc123
 group=managers
 group=research
 id=/home/repository/docs/file1
 id=/home/repository/docs/file2
 </code></pre>

 AuthZ response passed from command line authorizer via stdout.
 Each doc id must include an authz-status entry.
 <pre>
 <code>GSA Adaptor Data Version 1 [&lt;delimiter&gt;]
 id=/home/repository/docs/file1
 authz-status=PERMIT
 id=/home/repository/docs/file2
 authz-status=DENY
 </code></pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../com/google/enterprise/adaptor/CommandStreamParser.html#CommandStreamParser(java.io.InputStream)">CommandStreamParser</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;inputStream)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/enterprise/adaptor/CommandStreamParser.html#getVersionNumber()">getVersionNumber</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../com/google/enterprise/adaptor/DocId.html" title="class in com.google.enterprise.adaptor">DocId</a>,<a href="../../../../com/google/enterprise/adaptor/AuthzStatus.html" title="enum in com.google.enterprise.adaptor">AuthzStatus</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/enterprise/adaptor/CommandStreamParser.html#readFromAuthorizer()">readFromAuthorizer</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../com/google/enterprise/adaptor/DocIdPusher.Record.html" title="class in com.google.enterprise.adaptor">DocIdPusher.Record</a></code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/enterprise/adaptor/CommandStreamParser.html#readFromLister(com.google.enterprise.adaptor.DocIdPusher, com.google.enterprise.adaptor.ExceptionHandler)">readFromLister</a></strong>(<a href="../../../../com/google/enterprise/adaptor/DocIdPusher.html" title="interface in com.google.enterprise.adaptor">DocIdPusher</a>&nbsp;pusher,
              <a href="../../../../com/google/enterprise/adaptor/ExceptionHandler.html" title="interface in com.google.enterprise.adaptor">ExceptionHandler</a>&nbsp;handler)</code>
<div class="block">Parse a listing response, sending results to <code>pusher</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/enterprise/adaptor/CommandStreamParser.html#readFromRetriever(com.google.enterprise.adaptor.DocId, com.google.enterprise.adaptor.Response)">readFromRetriever</a></strong>(<a href="../../../../com/google/enterprise/adaptor/DocId.html" title="class in com.google.enterprise.adaptor">DocId</a>&nbsp;docId,
                 <a href="../../../../com/google/enterprise/adaptor/Response.html" title="interface in com.google.enterprise.adaptor">Response</a>&nbsp;response)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="CommandStreamParser(java.io.InputStream)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CommandStreamParser</h4>
<pre>public&nbsp;CommandStreamParser(<a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;inputStream)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getVersionNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVersionNumber</h4>
<pre>public&nbsp;int&nbsp;getVersionNumber()
                     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></pre>
<dl><dt><span class="strong">Throws:</span></dt>
<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></dl>
</li>
</ul>
<a name="readFromAuthorizer()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readFromAuthorizer</h4>
<pre>public&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../com/google/enterprise/adaptor/DocId.html" title="class in com.google.enterprise.adaptor">DocId</a>,<a href="../../../../com/google/enterprise/adaptor/AuthzStatus.html" title="enum in com.google.enterprise.adaptor">AuthzStatus</a>&gt;&nbsp;readFromAuthorizer()
                                          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></pre>
<dl><dt><span class="strong">Throws:</span></dt>
<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></dl>
</li>
</ul>
<a name="readFromRetriever(com.google.enterprise.adaptor.DocId, com.google.enterprise.adaptor.Response)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readFromRetriever</h4>
<pre>public&nbsp;void&nbsp;readFromRetriever(<a href="../../../../com/google/enterprise/adaptor/DocId.html" title="class in com.google.enterprise.adaptor">DocId</a>&nbsp;docId,
                     <a href="../../../../com/google/enterprise/adaptor/Response.html" title="interface in com.google.enterprise.adaptor">Response</a>&nbsp;response)
                       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></pre>
<dl><dt><span class="strong">Throws:</span></dt>
<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></dl>
</li>
</ul>
<a name="readFromLister(com.google.enterprise.adaptor.DocIdPusher, com.google.enterprise.adaptor.ExceptionHandler)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>readFromLister</h4>
<pre>public&nbsp;<a href="../../../../com/google/enterprise/adaptor/DocIdPusher.Record.html" title="class in com.google.enterprise.adaptor">DocIdPusher.Record</a>&nbsp;readFromLister(<a href="../../../../com/google/enterprise/adaptor/DocIdPusher.html" title="interface in com.google.enterprise.adaptor">DocIdPusher</a>&nbsp;pusher,
                                <a href="../../../../com/google/enterprise/adaptor/ExceptionHandler.html" title="interface in com.google.enterprise.adaptor">ExceptionHandler</a>&nbsp;handler)
                                  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>
<div class="block">Parse a listing response, sending results to <code>pusher</code>. If <code>handler</code> is <code>null</code>, then <code>pusher</code>'s default handler will be used. In case of failure sending in
 <code>pusher</code>, the rest of the input stream may not be read.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>null</code> on success, otherwise the first Record to fail</dd>
<dt><span class="strong">Throws:</span></dt>
<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>
<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></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/enterprise/adaptor/AuthzStatus.html" title="enum in com.google.enterprise.adaptor"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../com/google/enterprise/adaptor/Config.html" title="class in com.google.enterprise.adaptor"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/enterprise/adaptor/CommandStreamParser.html" target="_top">FRAMES</a></li>
<li><a href="CommandStreamParser.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
