blob: 4b8a3cb451728a1b2e0e3d1cdc733a217e7339fb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Sun Apr 20 23:50:13 EDT 2003 -->
<TITLE>
MultipartBoundaryInputStream (Apache Struts API Documentation)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.struts.upload.MultipartBoundaryInputStream,MultipartBoundaryInputStream class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="MultipartBoundaryInputStream (Apache Struts API Documentation)";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/struts/upload/DiskMultipartRequestHandler.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/struts/upload/MultipartElement.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MultipartBoundaryInputStream.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.struts.upload</FONT>
<BR>
Class MultipartBoundaryInputStream</H2>
<PRE>
java.lang.Object
|
+--java.io.InputStream
|
+--<B>org.apache.struts.upload.MultipartBoundaryInputStream</B>
</PRE>
<HR>
<DL>
<DT>public class <B>MultipartBoundaryInputStream</B><DT>extends java.io.InputStream</DL>
<P>
This class encapsulates parsing functionality for RFC1867, multipart/form-data. See MultipartBoundaryInputStreamTest
and MultipartIterator for usage examples.
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Mike Schachter</DD>
</DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#boundary">boundary</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The boundary.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#boundaryBytes">boundaryBytes</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#boundaryEncountered">boundaryEncountered</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not the boundary has been encountered.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#bytesRead">bytesRead</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The total number of bytes read so far.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#CARRIAGE_RETURN">CARRIAGE_RETURN</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#CONTENT_TYPE_APPLICATION_OCTET_STREAM">CONTENT_TYPE_APPLICATION_OCTET_STREAM</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#CONTENT_TYPE_TEXT_PLAIN">CONTENT_TYPE_TEXT_PLAIN</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#CRLF">CRLF</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#DEFAULT_CONTENT_DISPOSITION">DEFAULT_CONTENT_DISPOSITION</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#DEFAULT_LINE_SIZE">DEFAULT_LINE_SIZE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#DOUBLE_DASH_STRING">DOUBLE_DASH_STRING</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#elementCharset">elementCharset</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The character encoding of the element, specified in the element's Content-Type header.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#elementContentDisposition">elementContentDisposition</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Content-Disposition for the current form element being read.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#elementContentType">elementContentType</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Content-Type of the current form element being read.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#elementFileName">elementFileName</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The filename of the current form element being read, <code>null</code> if the current form element is
text data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#elementName">elementName</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the current form element being read.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#endOfStream">endOfStream</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not the end of the stream has been read.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#finalBoundaryBytes">finalBoundaryBytes</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#finalBoundaryEncountered">finalBoundaryEncountered</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not the final boundary has been encountered.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.io.InputStream</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#inputStream">inputStream</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The InputStream to read from.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#line">line</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#lineHasCarriage">lineHasCarriage</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#lineHasNewline">lineHasNewline</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#lineIndex">lineIndex</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#lineLength">lineLength</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#lineSize">lineSize</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#maxLength">maxLength</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The maximum length in bytes to read from the stream at a time, or -1 for unlimited length.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#maxLengthMet">maxLengthMet</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not the maximum length has been met.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#MESSAGE_INVALID_START">MESSAGE_INVALID_START</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#NEWLINE_BYTE">NEWLINE_BYTE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#PARAMETER_CHARSET">PARAMETER_CHARSET</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#PARAMETER_FILENAME">PARAMETER_FILENAME</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#PARAMETER_NAME">PARAMETER_NAME</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#TOKEN_COLON">TOKEN_COLON</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#TOKEN_EQUALS">TOKEN_EQUALS</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#TOKEN_QUOTE">TOKEN_QUOTE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#TOKEN_SEMI_COLON">TOKEN_SEMI_COLON</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#TOKEN_SPACE">TOKEN_SPACE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_java.io.InputStream"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class java.io.InputStream</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#MultipartBoundaryInputStream()">MultipartBoundaryInputStream</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#availableInLine()">availableInLine</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#byteRead()">byteRead</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#checkAndFixFilename(java.lang.String)">checkAndFixFilename</A></B>(java.lang.String&nbsp;filename)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#checkForBoundary()">checkForBoundary</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#equals(byte[], int, int, byte[])">equals</A></B>(byte[]&nbsp;comp,
int&nbsp;offset,
int&nbsp;length,
byte[]&nbsp;source)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks bytes for equality.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#fillLine()">fillLine</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#fillLineBuffer()">fillLineBuffer</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#getBytesRead()">getBytesRead</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#getElementCharset()">getElementCharset</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the character encoding of the current element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#getElementContentDisposition()">getElementContentDisposition</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the value for the "Content-Dispositio" header for the current multipart element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#getElementContentType()">getElementContentType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the "Content-Type" of the current element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#getElementFileName()">getElementFileName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the filename of the current element, which will be null if the current element
isn't a file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#getElementName()">getElementName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the name of the current element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#getMaxLength()">getMaxLength</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#isBoundaryEncountered()">isBoundaryEncountered</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether or not the boundary has been encountered while reading data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#isElementFile()">isElementFile</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets whether or not the current form element being read is a file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#isEndOfStream()">isEndOfStream</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not an EOF has been read on the stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#isFinalBoundaryEncountered()">isFinalBoundaryEncountered</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether or not the final boundary has been encountered.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#isMaxLengthMet()">isMaxLengthMet</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not the maximum length has been met.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#mark(int)">mark</A></B>(int&nbsp;i)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Marks the underlying stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#parseForParameter(java.lang.String, java.lang.String)">parseForParameter</A></B>(java.lang.String&nbsp;parameter,
java.lang.String&nbsp;parseString)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#parseHeaderValue(java.lang.String)">parseHeaderValue</A></B>(java.lang.String&nbsp;headerLine)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#read()">read</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads from the stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#read(byte[])">read</A></B>(byte[]&nbsp;buffer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#read(byte[], int, int)">read</A></B>(byte[]&nbsp;buffer,
int&nbsp;offset,
int&nbsp;length)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#readContentDisposition()">readContentDisposition</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#readContentType()">readContentType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#readElementHeaders()">readElementHeaders</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#readFirstElement()">readFirstElement</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#readFromLine()">readFromLine</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#readLine()">readLine</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#reset()">reset</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets the underlying input stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#resetCrlf()">resetCrlf</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#resetForNextBoundary()">resetForNextBoundary</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resets this stream for use with the next element, to be used after a boundary is encountered.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#resetLine()">resetLine</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#resetStream()">resetStream</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#setBoundary(java.lang.String)">setBoundary</A></B>(java.lang.String&nbsp;boundary)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the boundary that terminates the data for the stream, after adding the prefix "--"</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#setInputStream(java.io.InputStream)">setInputStream</A></B>(java.io.InputStream&nbsp;stream)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the input stream used to read multipart data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#setLineSize(int)">setLineSize</A></B>(int&nbsp;size)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#setMaxLength(long)">setMaxLength</A></B>(long&nbsp;maxLength)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the maximum length in bytes to read, or -1 for an unlimited length.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/upload/MultipartBoundaryInputStream.html#skipCurrentLineIfBlank()">skipCurrentLineIfBlank</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.io.InputStream"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.io.InputStream</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>available, close, markSupported, skip</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="NEWLINE_BYTE"><!-- --></A><H3>
NEWLINE_BYTE</H3>
<PRE>
private static final byte <B>NEWLINE_BYTE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.NEWLINE_BYTE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CARRIAGE_RETURN"><!-- --></A><H3>
CARRIAGE_RETURN</H3>
<PRE>
private static final byte <B>CARRIAGE_RETURN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.CARRIAGE_RETURN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CRLF"><!-- --></A><H3>
CRLF</H3>
<PRE>
private static final byte[] <B>CRLF</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="DOUBLE_DASH_STRING"><!-- --></A><H3>
DOUBLE_DASH_STRING</H3>
<PRE>
private static final java.lang.String <B>DOUBLE_DASH_STRING</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.DOUBLE_DASH_STRING">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="DEFAULT_LINE_SIZE"><!-- --></A><H3>
DEFAULT_LINE_SIZE</H3>
<PRE>
private static final int <B>DEFAULT_LINE_SIZE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.DEFAULT_LINE_SIZE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="TOKEN_EQUALS"><!-- --></A><H3>
TOKEN_EQUALS</H3>
<PRE>
private static final java.lang.String <B>TOKEN_EQUALS</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.TOKEN_EQUALS">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="TOKEN_QUOTE"><!-- --></A><H3>
TOKEN_QUOTE</H3>
<PRE>
private static final char <B>TOKEN_QUOTE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.TOKEN_QUOTE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="TOKEN_COLON"><!-- --></A><H3>
TOKEN_COLON</H3>
<PRE>
private static final char <B>TOKEN_COLON</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.TOKEN_COLON">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="TOKEN_SEMI_COLON"><!-- --></A><H3>
TOKEN_SEMI_COLON</H3>
<PRE>
private static final char <B>TOKEN_SEMI_COLON</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.TOKEN_SEMI_COLON">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="TOKEN_SPACE"><!-- --></A><H3>
TOKEN_SPACE</H3>
<PRE>
private static final char <B>TOKEN_SPACE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.TOKEN_SPACE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="DEFAULT_CONTENT_DISPOSITION"><!-- --></A><H3>
DEFAULT_CONTENT_DISPOSITION</H3>
<PRE>
private static final java.lang.String <B>DEFAULT_CONTENT_DISPOSITION</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.DEFAULT_CONTENT_DISPOSITION">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PARAMETER_NAME"><!-- --></A><H3>
PARAMETER_NAME</H3>
<PRE>
private static final java.lang.String <B>PARAMETER_NAME</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.PARAMETER_NAME">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PARAMETER_FILENAME"><!-- --></A><H3>
PARAMETER_FILENAME</H3>
<PRE>
private static final java.lang.String <B>PARAMETER_FILENAME</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.PARAMETER_FILENAME">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PARAMETER_CHARSET"><!-- --></A><H3>
PARAMETER_CHARSET</H3>
<PRE>
private static final java.lang.String <B>PARAMETER_CHARSET</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.PARAMETER_CHARSET">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CONTENT_TYPE_TEXT_PLAIN"><!-- --></A><H3>
CONTENT_TYPE_TEXT_PLAIN</H3>
<PRE>
private static final java.lang.String <B>CONTENT_TYPE_TEXT_PLAIN</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.CONTENT_TYPE_TEXT_PLAIN">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="CONTENT_TYPE_APPLICATION_OCTET_STREAM"><!-- --></A><H3>
CONTENT_TYPE_APPLICATION_OCTET_STREAM</H3>
<PRE>
private static final java.lang.String <B>CONTENT_TYPE_APPLICATION_OCTET_STREAM</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.CONTENT_TYPE_APPLICATION_OCTET_STREAM">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="MESSAGE_INVALID_START"><!-- --></A><H3>
MESSAGE_INVALID_START</H3>
<PRE>
private static final java.lang.String <B>MESSAGE_INVALID_START</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.struts.upload.MultipartBoundaryInputStream.MESSAGE_INVALID_START">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="inputStream"><!-- --></A><H3>
inputStream</H3>
<PRE>
protected java.io.InputStream <B>inputStream</B></PRE>
<DL>
<DD>The InputStream to read from.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="boundary"><!-- --></A><H3>
boundary</H3>
<PRE>
protected java.lang.String <B>boundary</B></PRE>
<DL>
<DD>The boundary.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="boundaryEncountered"><!-- --></A><H3>
boundaryEncountered</H3>
<PRE>
protected boolean <B>boundaryEncountered</B></PRE>
<DL>
<DD>Whether or not the boundary has been encountered.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="finalBoundaryEncountered"><!-- --></A><H3>
finalBoundaryEncountered</H3>
<PRE>
protected boolean <B>finalBoundaryEncountered</B></PRE>
<DL>
<DD>Whether or not the final boundary has been encountered.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="endOfStream"><!-- --></A><H3>
endOfStream</H3>
<PRE>
protected boolean <B>endOfStream</B></PRE>
<DL>
<DD>Whether or not the end of the stream has been read.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="elementContentDisposition"><!-- --></A><H3>
elementContentDisposition</H3>
<PRE>
protected java.lang.String <B>elementContentDisposition</B></PRE>
<DL>
<DD>The Content-Disposition for the current form element being read.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="elementName"><!-- --></A><H3>
elementName</H3>
<PRE>
protected java.lang.String <B>elementName</B></PRE>
<DL>
<DD>The name of the current form element being read.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="elementContentType"><!-- --></A><H3>
elementContentType</H3>
<PRE>
protected java.lang.String <B>elementContentType</B></PRE>
<DL>
<DD>The Content-Type of the current form element being read.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="elementFileName"><!-- --></A><H3>
elementFileName</H3>
<PRE>
protected java.lang.String <B>elementFileName</B></PRE>
<DL>
<DD>The filename of the current form element being read, <code>null</code> if the current form element is
text data.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="elementCharset"><!-- --></A><H3>
elementCharset</H3>
<PRE>
protected java.lang.String <B>elementCharset</B></PRE>
<DL>
<DD>The character encoding of the element, specified in the element's Content-Type header.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="maxLength"><!-- --></A><H3>
maxLength</H3>
<PRE>
protected long <B>maxLength</B></PRE>
<DL>
<DD>The maximum length in bytes to read from the stream at a time, or -1 for unlimited length.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="maxLengthMet"><!-- --></A><H3>
maxLengthMet</H3>
<PRE>
protected boolean <B>maxLengthMet</B></PRE>
<DL>
<DD>Whether or not the maximum length has been met.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="bytesRead"><!-- --></A><H3>
bytesRead</H3>
<PRE>
protected long <B>bytesRead</B></PRE>
<DL>
<DD>The total number of bytes read so far.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="boundaryBytes"><!-- --></A><H3>
boundaryBytes</H3>
<PRE>
private byte[] <B>boundaryBytes</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="finalBoundaryBytes"><!-- --></A><H3>
finalBoundaryBytes</H3>
<PRE>
private byte[] <B>finalBoundaryBytes</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="line"><!-- --></A><H3>
line</H3>
<PRE>
private byte[] <B>line</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="lineSize"><!-- --></A><H3>
lineSize</H3>
<PRE>
private int <B>lineSize</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="lineLength"><!-- --></A><H3>
lineLength</H3>
<PRE>
private int <B>lineLength</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="lineHasNewline"><!-- --></A><H3>
lineHasNewline</H3>
<PRE>
private boolean <B>lineHasNewline</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="lineHasCarriage"><!-- --></A><H3>
lineHasCarriage</H3>
<PRE>
private boolean <B>lineHasCarriage</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="lineIndex"><!-- --></A><H3>
lineIndex</H3>
<PRE>
private int <B>lineIndex</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="MultipartBoundaryInputStream()"><!-- --></A><H3>
MultipartBoundaryInputStream</H3>
<PRE>
public <B>MultipartBoundaryInputStream</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="setBoundary(java.lang.String)"><!-- --></A><H3>
setBoundary</H3>
<PRE>
public void <B>setBoundary</B>(java.lang.String&nbsp;boundary)</PRE>
<DL>
<DD>Sets the boundary that terminates the data for the stream, after adding the prefix "--"
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="resetForNextBoundary()"><!-- --></A><H3>
resetForNextBoundary</H3>
<PRE>
public void <B>resetForNextBoundary</B>()
throws java.io.IOException</PRE>
<DL>
<DD>Resets this stream for use with the next element, to be used after a boundary is encountered.
<P>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="setInputStream(java.io.InputStream)"><!-- --></A><H3>
setInputStream</H3>
<PRE>
public void <B>setInputStream</B>(java.io.InputStream&nbsp;stream)
throws java.io.IOException</PRE>
<DL>
<DD>Sets the input stream used to read multipart data. For efficiency purposes, make sure that the stream
you set on this class is buffered. The way this class reads lines is that it continually calls the read()
method until it reaches a newline character. That would be terrible if you were to set a socket's input stream
here, but not as bad on a buffered stream.
<P>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="read()"><!-- --></A><H3>
read</H3>
<PRE>
public int <B>read</B>()
throws java.io.IOException</PRE>
<DL>
<DD>Reads from the stream. Returns -1 if it's the end of the stream or if a boundary is encountered.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>read</CODE> in class <CODE>java.io.InputStream</CODE></DL>
</DD>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="read(byte[])"><!-- --></A><H3>
read</H3>
<PRE>
public int <B>read</B>(byte[]&nbsp;buffer)
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>read</CODE> in class <CODE>java.io.InputStream</CODE></DL>
</DD>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="read(byte[], int, int)"><!-- --></A><H3>
read</H3>
<PRE>
public int <B>read</B>(byte[]&nbsp;buffer,
int&nbsp;offset,
int&nbsp;length)
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>read</CODE> in class <CODE>java.io.InputStream</CODE></DL>
</DD>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="mark(int)"><!-- --></A><H3>
mark</H3>
<PRE>
public void <B>mark</B>(int&nbsp;i)</PRE>
<DL>
<DD>Marks the underlying stream.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>mark</CODE> in class <CODE>java.io.InputStream</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="reset()"><!-- --></A><H3>
reset</H3>
<PRE>
public void <B>reset</B>()
throws java.io.IOException</PRE>
<DL>
<DD>Resets the underlying input stream.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>reset</CODE> in class <CODE>java.io.InputStream</CODE></DL>
</DD>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="setMaxLength(long)"><!-- --></A><H3>
setMaxLength</H3>
<PRE>
public void <B>setMaxLength</B>(long&nbsp;maxLength)</PRE>
<DL>
<DD>Set the maximum length in bytes to read, or -1 for an unlimited length.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getMaxLength()"><!-- --></A><H3>
getMaxLength</H3>
<PRE>
public long <B>getMaxLength</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isMaxLengthMet()"><!-- --></A><H3>
isMaxLengthMet</H3>
<PRE>
public boolean <B>isMaxLengthMet</B>()</PRE>
<DL>
<DD>Whether or not the maximum length has been met.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getElementContentDisposition()"><!-- --></A><H3>
getElementContentDisposition</H3>
<PRE>
public java.lang.String <B>getElementContentDisposition</B>()</PRE>
<DL>
<DD>Gets the value for the "Content-Dispositio" header for the current multipart element.
Usually "form-data".
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getElementName()"><!-- --></A><H3>
getElementName</H3>
<PRE>
public java.lang.String <B>getElementName</B>()</PRE>
<DL>
<DD>Gets the name of the current element. The name corresponds to the value of
the "name" attribute of the form element.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getElementCharset()"><!-- --></A><H3>
getElementCharset</H3>
<PRE>
public java.lang.String <B>getElementCharset</B>()</PRE>
<DL>
<DD>Gets the character encoding of the current element. The character encoding would have been specified
in the Content-Type header for this element, if it wasn't this is null.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getElementContentType()"><!-- --></A><H3>
getElementContentType</H3>
<PRE>
public java.lang.String <B>getElementContentType</B>()</PRE>
<DL>
<DD>Gets the "Content-Type" of the current element. If this is a text element,
the content type will probably be "text/plain", otherwise it will be the
content type of the file element.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getElementFileName()"><!-- --></A><H3>
getElementFileName</H3>
<PRE>
public java.lang.String <B>getElementFileName</B>()</PRE>
<DL>
<DD>Gets the filename of the current element, which will be null if the current element
isn't a file.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isElementFile()"><!-- --></A><H3>
isElementFile</H3>
<PRE>
public boolean <B>isElementFile</B>()</PRE>
<DL>
<DD>Gets whether or not the current form element being read is a file.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isBoundaryEncountered()"><!-- --></A><H3>
isBoundaryEncountered</H3>
<PRE>
public boolean <B>isBoundaryEncountered</B>()</PRE>
<DL>
<DD>Returns whether or not the boundary has been encountered while reading data.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isFinalBoundaryEncountered()"><!-- --></A><H3>
isFinalBoundaryEncountered</H3>
<PRE>
public boolean <B>isFinalBoundaryEncountered</B>()</PRE>
<DL>
<DD>Returns whether or not the final boundary has been encountered.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isEndOfStream()"><!-- --></A><H3>
isEndOfStream</H3>
<PRE>
public boolean <B>isEndOfStream</B>()</PRE>
<DL>
<DD>Whether or not an EOF has been read on the stream.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setLineSize(int)"><!-- --></A><H3>
setLineSize</H3>
<PRE>
public void <B>setLineSize</B>(int&nbsp;size)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getBytesRead()"><!-- --></A><H3>
getBytesRead</H3>
<PRE>
public long <B>getBytesRead</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="readFirstElement()"><!-- --></A><H3>
readFirstElement</H3>
<PRE>
private final void <B>readFirstElement</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="readElementHeaders()"><!-- --></A><H3>
readElementHeaders</H3>
<PRE>
private final void <B>readElementHeaders</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="readContentDisposition()"><!-- --></A><H3>
readContentDisposition</H3>
<PRE>
private final void <B>readContentDisposition</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="checkAndFixFilename(java.lang.String)"><!-- --></A><H3>
checkAndFixFilename</H3>
<PRE>
private final java.lang.String <B>checkAndFixFilename</B>(java.lang.String&nbsp;filename)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="parseForParameter(java.lang.String, java.lang.String)"><!-- --></A><H3>
parseForParameter</H3>
<PRE>
private final java.lang.String <B>parseForParameter</B>(java.lang.String&nbsp;parameter,
java.lang.String&nbsp;parseString)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="readContentType()"><!-- --></A><H3>
readContentType</H3>
<PRE>
private final boolean <B>readContentType</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="parseHeaderValue(java.lang.String)"><!-- --></A><H3>
parseHeaderValue</H3>
<PRE>
private final java.lang.String <B>parseHeaderValue</B>(java.lang.String&nbsp;headerLine)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="skipCurrentLineIfBlank()"><!-- --></A><H3>
skipCurrentLineIfBlank</H3>
<PRE>
private final void <B>skipCurrentLineIfBlank</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="resetCrlf()"><!-- --></A><H3>
resetCrlf</H3>
<PRE>
private final void <B>resetCrlf</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="resetStream()"><!-- --></A><H3>
resetStream</H3>
<PRE>
private final void <B>resetStream</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="readLine()"><!-- --></A><H3>
readLine</H3>
<PRE>
private final java.lang.String <B>readLine</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="readFromLine()"><!-- --></A><H3>
readFromLine</H3>
<PRE>
private final int <B>readFromLine</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="availableInLine()"><!-- --></A><H3>
availableInLine</H3>
<PRE>
private final int <B>availableInLine</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="fillLine()"><!-- --></A><H3>
fillLine</H3>
<PRE>
private final void <B>fillLine</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="resetLine()"><!-- --></A><H3>
resetLine</H3>
<PRE>
private final void <B>resetLine</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="fillLineBuffer()"><!-- --></A><H3>
fillLineBuffer</H3>
<PRE>
private final void <B>fillLineBuffer</B>()
throws java.io.IOException</PRE>
<DL>
<DD><DL>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="byteRead()"><!-- --></A><H3>
byteRead</H3>
<PRE>
private final void <B>byteRead</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="checkForBoundary()"><!-- --></A><H3>
checkForBoundary</H3>
<PRE>
private final void <B>checkForBoundary</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="equals(byte[], int, int, byte[])"><!-- --></A><H3>
equals</H3>
<PRE>
private final boolean <B>equals</B>(byte[]&nbsp;comp,
int&nbsp;offset,
int&nbsp;length,
byte[]&nbsp;source)</PRE>
<DL>
<DD>Checks bytes for equality. Two byte arrays are equal if each of their elements are
the same. This method checks comp[offset] with source[0] to source[length-1] with
comp[offset + length - 1]
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>comp</CODE> - The byte to compare to <code>source</code><DD><CODE>offset</CODE> - The offset to start at in <code>comp</code><DD><CODE>length</CODE> - The length of <code>comp</code> to compare to<DD><CODE>source</CODE> - The reference byte array to test for equality</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/struts/upload/DiskMultipartRequestHandler.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/struts/upload/MultipartElement.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="MultipartBoundaryInputStream.html" TARGET="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;
<SCRIPT>
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
Copyright © 2000-2002 - Apache Software Foundation
</BODY>
</HTML>