Top Description Inners Fields Constructors Methods
org.glassfish.grizzly.http.multipart

public Class MultipartReadHandler

extends Object
implements ReadHandler
Class Inheritance
All Implemented Interfaces
org.glassfish.grizzly.ReadHandler
Imports
java.io.IOException, org.glassfish.grizzly.Buffer, .CompletionHandler, .ReadHandler, org.glassfish.grizzly.http.io.NIOInputStream, org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.util.Ascii, .Constants, .Header

ReadHandler, which implements the miltipart message parsing logic and delegates control to a MultipartEntryHandler, when MultipartEntry data becomes available.
Author
Alexey Stashok
Since
2.0.1

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class
private static enum

Field Summary

Modifier and TypeField and Description
private final String
private boolean
private boolean
private final MultipartReadHandler.Line
private final MultipartContext
private final MultipartEntry
private final MultipartEntryHandler
private final CompletionHandler<MultipartEntry>
private final MultipartEntry
private final NIOInputStream
private final Request
private final CompletionHandler<Request>
private MultipartReadHandler.State

Constructor Summary

AccessConstructor and Description
public
MultipartReadHandler(final Request request, final MultipartEntryHandler multipartHandler, final CompletionHandler<Request> completionHandler, final MultipartContext multipartContext)

public
MultipartReadHandler(final MultipartEntry parentMultipartEntry, final MultipartEntryHandler multipartHandler, final CompletionHandler<MultipartEntry> completionHandler, final MultipartContext multipartContext)

Method Summary

Modifier and TypeMethod and Description
private void
private void
checkMultipartMixedComplete(final CompletionHandler<MultipartEntry> multipartMixedCompletionHandler)

private void
checkRequestComplete(final CompletionHandler<Request> requestCompletionHandler)

private void
private int
findEndOfHeaderName(final Buffer buffer, int position, final int limit)

private void
public void
onAllDataRead()

Implements org.glassfish.grizzly.ReadHandler.onAllDataRead.

Invoked when all data for the current request has been read.

public void
onDataAvailable()

Implements org.glassfish.grizzly.ReadHandler.onDataAvailable.

Invoked when data is available to be read without blocking.

public void
onError(Throwable t)

Implements org.glassfish.grizzly.ReadHandler.onError.

Invoked when an error occurs processing the request asynchronously.

private boolean
private boolean
pack-priv void
private void
private boolean
private String
trim(final Buffer buffer, int position, int limit)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

boundaryback to summary
private final String boundary
isFinishedback to summary
private boolean isFinished
isMultipartMixedback to summary
private boolean isMultipartMixed
lineback to summary
private final MultipartReadHandler.Line line
multipartContextback to summary
private final MultipartContext multipartContext
multipartEntryback to summary
private final MultipartEntry multipartEntry
multipartHandlerback to summary
private final MultipartEntryHandler multipartHandler
multipartMixedCompletionHandlerback to summary
private final CompletionHandler<MultipartEntry> multipartMixedCompletionHandler
multipartMixedEntryback to summary
private final MultipartEntry multipartMixedEntry
parentInputStreamback to summary
private final NIOInputStream parentInputStream
requestback to summary
private final Request request
requestCompletionHandlerback to summary
private final CompletionHandler<Request> requestCompletionHandler
stateback to summary
private MultipartReadHandler.State state

Constructor Detail

MultipartReadHandlerback to summary
public MultipartReadHandler(final Request request, final MultipartEntryHandler multipartHandler, final CompletionHandler<Request> completionHandler, final MultipartContext multipartContext)
MultipartReadHandlerback to summary
public MultipartReadHandler(final MultipartEntry parentMultipartEntry, final MultipartEntryHandler multipartHandler, final CompletionHandler<MultipartEntry> completionHandler, final MultipartContext multipartContext)

Method Detail

checkCompleteback to summary
private void checkComplete()
checkMultipartMixedCompleteback to summary
private void checkMultipartMixedComplete(final CompletionHandler<MultipartEntry> multipartMixedCompletionHandler)
checkRequestCompleteback to summary
private void checkRequestComplete(final CompletionHandler<Request> requestCompletionHandler)
feedMultipartEntryback to summary
private void feedMultipartEntry() throws Exception
Annotations
@SuppressWarnings:ResultOfMethodCallIgnored
findEndOfHeaderNameback to summary
private int findEndOfHeaderName(final Buffer buffer, int position, final int limit)
finishHeadersParsingback to summary
private void finishHeadersParsing()
onAllDataReadback to summary
public void onAllDataRead() throws Exception

Implements org.glassfish.grizzly.ReadHandler.onAllDataRead.

Doc from org.glassfish.grizzly.ReadHandler.onAllDataRead.

Invoked when all data for the current request has been read.

Annotations
@Override
Exceptions
Exception:
Exception might be thrown by the custom handler code. This exception will be delegated for processing to onError(java.lang.Throwable).
onDataAvailableback to summary
public void onDataAvailable() throws Exception

Implements org.glassfish.grizzly.ReadHandler.onDataAvailable.

Doc from org.glassfish.grizzly.ReadHandler.onDataAvailable.

Invoked when data is available to be read without blocking. Data must be consumed by the handler implementation before re-registering.

Annotations
@Override
Exceptions
Exception:
Exception might be thrown by the custom handler code. This exception will be delegated for processing to onError(java.lang.Throwable).
onErrorback to summary
public void onError(Throwable t)

Implements org.glassfish.grizzly.ReadHandler.onError.

Doc from org.glassfish.grizzly.ReadHandler.onError.

Invoked when an error occurs processing the request asynchronously.

Annotations
@Override
parseHeadersback to summary
private boolean parseHeaders()
processback to summary
private boolean process() throws Exception
readLineback to summary
pack-priv void readLine()
setHeaderback to summary
private void setHeader()
skipPreambleback to summary
private boolean skipPreamble()
trimback to summary
private String trim(final Buffer buffer, int position, int limit)
org.glassfish.grizzly.http.multipart back to summary

private Class MultipartReadHandler.Line

extends Object
Class Inheritance
  • java.lang.Object
  • org.glassfish.grizzly.http.multipart.MultipartReadHandler.Line

Field Summary

Modifier and TypeField and Description
pack-priv int
pack-priv boolean
pack-priv boolean
pack-priv boolean
pack-priv boolean
pack-priv int
pack-priv int

Constructor Summary

AccessConstructor and Description
private
Line()

Method Summary

Modifier and TypeMethod and Description
private boolean
private int
public boolean
private boolean
private boolean
public void
private void
skip()

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

couldBeBoundaryOffsetback to summary
pack-priv int couldBeBoundaryOffset
isBoundaryback to summary
pack-priv boolean isBoundary
isCompleteback to summary
pack-priv boolean isComplete
isCrLfback to summary
pack-priv boolean isCrLf
isFinalBoundaryback to summary
pack-priv boolean isFinalBoundary
lenback to summary
pack-priv int len
offsetback to summary
pack-priv int offset

Constructor Detail

Lineback to summary
private Line()

Method Detail

couldBeBoundaryback to summary
private boolean couldBeBoundary()
getLineTerminatorLengthback to summary
private int getLineTerminatorLength()
hasContentback to summary
public boolean hasContent()
isBoundaryback to summary
private boolean isBoundary()
parseBoundaryback to summary
private boolean parseBoundary()
resetback to summary
public void reset()
skipback to summary
private void skip()
Annotations
@SuppressWarnings:ResultOfMethodCallIgnored
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
org.glassfish.grizzly.http.multipart back to summary

private final Enum MultipartReadHandler.State

extends Enum<MultipartReadHandler.State>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final MultipartReadHandler.State
public static final MultipartReadHandler.State
public static final MultipartReadHandler.State
public static final MultipartReadHandler.State
public static final MultipartReadHandler.State

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static MultipartReadHandler.State
public static MultipartReadHandler.State[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

BODYback to summary
public static final MultipartReadHandler.State BODY
PARSE_MULTIPART_ENTRY_HEADERSback to summary
public static final MultipartReadHandler.State PARSE_MULTIPART_ENTRY_HEADERS
PREAMBLEback to summary
public static final MultipartReadHandler.State PREAMBLE
RESETback to summary
public static final MultipartReadHandler.State RESET
START_BODYback to summary
public static final MultipartReadHandler.State START_BODY

Constructor Detail

Stateback to summary
private State()

Method Detail

valueOfback to summary
public static MultipartReadHandler.State valueOf(String name)
valuesback to summary
public static MultipartReadHandler.State[] values()