com.koushikdutta.async.http
Class MultipartFormDataBody

java.lang.Object
  extended by com.koushikdutta.async.DataEmitterBase
      extended by com.koushikdutta.async.FilteredDataEmitter
          extended by com.koushikdutta.async.http.server.BoundaryEmitter
              extended by com.koushikdutta.async.http.MultipartFormDataBody
All Implemented Interfaces:
DataCallback, DataEmitter, DataTrackingEmitter, AsyncHttpRequestBody<Multimap>, DataEmitterWrapper

public class MultipartFormDataBody
extends BoundaryEmitter
implements AsyncHttpRequestBody<Multimap>


Nested Class Summary
static interface MultipartFormDataBody.MultipartCallback
           
 
Nested classes/interfaces inherited from interface com.koushikdutta.async.DataTrackingEmitter
DataTrackingEmitter.DataTracker
 
Field Summary
static java.lang.String CONTENT_TYPE
           
 
Constructor Summary
MultipartFormDataBody()
           
MultipartFormDataBody(java.lang.String contentType, java.lang.String[] values)
           
 
Method Summary
 void addFilePart(java.lang.String name, java.io.File file)
           
 void addPart(Part part)
           
 void addStringPart(java.lang.String name, java.lang.String value)
           
 Multimap get()
           
 java.lang.String getContentType()
           
 java.lang.String getField(java.lang.String name)
           
 MultipartFormDataBody.MultipartCallback getMultipartCallback()
           
 int length()
           
protected  void onBoundaryEnd()
           
protected  void onBoundaryStart()
           
 void parse(DataEmitter emitter, CompletedCallback completed)
           
 boolean readFullyOnRequest()
           
 void setMultipartCallback(MultipartFormDataBody.MultipartCallback callback)
           
 void write(AsyncHttpRequest request, AsyncHttpResponse sink)
           
 
Methods inherited from class com.koushikdutta.async.http.server.BoundaryEmitter
getBoundary, getBoundaryEnd, getBoundaryStart, onDataAvailable, setBoundary
 
Methods inherited from class com.koushikdutta.async.FilteredDataEmitter
close, getBytesRead, getDataCallback, getDataEmitter, getDataTracker, getServer, isChunked, isPaused, pause, resume, setDataCallback, setDataEmitter, setDataTracker
 
Methods inherited from class com.koushikdutta.async.DataEmitterBase
getEndCallback, report, setEndCallback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.koushikdutta.async.DataEmitter
getEndCallback, setEndCallback
 

Field Detail

CONTENT_TYPE

public static final java.lang.String CONTENT_TYPE
See Also:
Constant Field Values
Constructor Detail

MultipartFormDataBody

public MultipartFormDataBody(java.lang.String contentType,
                             java.lang.String[] values)

MultipartFormDataBody

public MultipartFormDataBody()
Method Detail

parse

public void parse(DataEmitter emitter,
                  CompletedCallback completed)
Specified by:
parse in interface AsyncHttpRequestBody<Multimap>

getField

public java.lang.String getField(java.lang.String name)

onBoundaryEnd

protected void onBoundaryEnd()
Overrides:
onBoundaryEnd in class BoundaryEmitter

onBoundaryStart

protected void onBoundaryStart()
Overrides:
onBoundaryStart in class BoundaryEmitter

setMultipartCallback

public void setMultipartCallback(MultipartFormDataBody.MultipartCallback callback)

getMultipartCallback

public MultipartFormDataBody.MultipartCallback getMultipartCallback()

write

public void write(AsyncHttpRequest request,
                  AsyncHttpResponse sink)
Specified by:
write in interface AsyncHttpRequestBody<Multimap>

getContentType

public java.lang.String getContentType()
Specified by:
getContentType in interface AsyncHttpRequestBody<Multimap>

readFullyOnRequest

public boolean readFullyOnRequest()
Specified by:
readFullyOnRequest in interface AsyncHttpRequestBody<Multimap>

length

public int length()
Specified by:
length in interface AsyncHttpRequestBody<Multimap>

addFilePart

public void addFilePart(java.lang.String name,
                        java.io.File file)

addStringPart

public void addStringPart(java.lang.String name,
                          java.lang.String value)

addPart

public void addPart(Part part)

get

public Multimap get()
Specified by:
get in interface AsyncHttpRequestBody<Multimap>