All Packages This Package Class Hierarchy Class Search Index
Class grendel.mime.parser.MimeMultipart
java.lang.Object | +----grendel.mime.parser.MimeObject | +----grendel.mime.parser.MimeContainer | +----grendel.mime.parser.MimeMultipart
This class implements the parser for all "multipart/" MIME subtypes.
See Also: MimeMultipartDigest, MimeDwimText, MimeXSunAttachment
class MimeMultipart
extends grendel.mime.parser.MimeContainer
{
// Fields 14
protected static final int BOUNDARY_NONE;
protected static final int BOUNDARY_SEPARATOR;
protected static final int BOUNDARY_TERMINATOR;
protected static final int MULTIPART_EPILOGUE;
protected static final int MULTIPART_FIRST_LINE;
protected static final int MULTIPART_HEADERS;
protected static final int MULTIPART_LINE;
protected static final int MULTIPART_PREAMBLE;
ByteBuf boundary;
InternetHeaders child_headers;
ByteBuf crlf;
ByteLineBuffer line_buffer;
ByteBuf line_bytes;
int state;
// Constructors 1
public MimeMultipart(String, InternetHeaders);
// Methods 8
protected int checkBoundary(ByteBuf);
protected void computeBoundary();
protected void createMultipartChild();
public String defaultSubpartType();
private void process_line(ByteBuf);
public void pushBytes(ByteBuf);
public void pushEOF();
private void push_child_line(ByteBuf, boolean);
}
Fields
line_buffer
ByteLineBuffer line_buffer
line_bytes
ByteBuf line_bytes
boundary
ByteBuf boundary
crlf
ByteBuf crlf
child_headers
InternetHeaders child_headers
state
int state
BOUNDARY_NONE
protected static final int BOUNDARY_NONE
BOUNDARY_TERMINATOR
protected static final int BOUNDARY_TERMINATOR
BOUNDARY_SEPARATOR
protected static final int BOUNDARY_SEPARATOR
MULTIPART_PREAMBLE
protected static final int MULTIPART_PREAMBLE
MULTIPART_HEADERS
protected static final int MULTIPART_HEADERS
MULTIPART_FIRST_LINE
protected static final int MULTIPART_FIRST_LINE
MULTIPART_LINE
protected static final int MULTIPART_LINE
MULTIPART_EPILOGUE
protected static final int MULTIPART_EPILOGUE
Constructors
MimeMultipart
public MimeMultipart(String content_type, InternetHeaders headers)
Methods
computeBoundary
protected void computeBoundary()
defaultSubpartType
public String defaultSubpartType()
When a sub-part doesn't have a content-type specified, this method returns the default type. The default is "text/plain", but, for example, the "multipart/digest" handler overrides this to "message/rfc822". Note that this is a class method.
pushBytes
public void pushBytes(ByteBuf bytes)
Buffers the bytes into lines, and calls process_line() on each line.
- Overrides:
- pushBytes in class MimeObject
pushEOF
public void pushEOF()
Flushes the line buffer, and (maybe) calls process_line() one last time.
- Overrides:
- pushEOF in class MimeContainer
process_line
private void process_line(ByteBuf line)
Called for each line of the body of this multipart. Maintains a state machine and decides what the line means.
checkBoundary
protected int checkBoundary(ByteBuf line_buf)
createMultipartChild
protected void createMultipartChild()
push_child_line
private void push_child_line(ByteBuf line_buf, boolean first_line_p)
All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.4