1600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpackage gov.nist.javax.sip.message; 2600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 3600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport java.text.ParseException; 4600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 5600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ContentDispositionHeader; 6600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.ContentTypeHeader; 7600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 8600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpublic class ContentImpl implements Content { 9600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 10600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 11600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /* 12600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * The content type header for this chunk of content. 13600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 14600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 15600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang private Object content; 16600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 17600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang private String boundary; 18600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 19600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang private ContentTypeHeader contentTypeHeader; 20600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 21600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang private ContentDispositionHeader contentDispositionHeader; 22600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 23600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 24600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 25600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ContentImpl( String content, String boundary ) { 26600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang this.content = content; 27600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 28600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang this.boundary = boundary; 29600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 30600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 31600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 32600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 33600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /* (non-Javadoc) 34600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @see gov.nist.javax.sip.message.ContentExt#setContent(java.lang.String) 35600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 36600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public void setContent(Object content) { 37600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang this.content = content; 38600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 39600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 40600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /* (non-Javadoc) 41600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @see gov.nist.javax.sip.message.ContentExt#getContentTypeHeader() 42600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 43600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ContentTypeHeader getContentTypeHeader() { 44600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return contentTypeHeader; 45600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 46600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 47600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /* 48600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * (non-Javadoc) 49600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @see gov.nist.javax.sip.message.Content#getContent() 50600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 51600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public Object getContent() { 52600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return this.content; 53600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 54600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 55600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 56600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /* (non-Javadoc) 57600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @see gov.nist.javax.sip.message.ContentExt#toString() 58600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 59600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public String toString() { 60600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang // This is not part of a multipart message. 61600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang if (boundary == null) { 62600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return content.toString(); 63600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } else { 64600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang if ( this.contentDispositionHeader != null ) { 65600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return "--" + boundary + "\r\n" + getContentTypeHeader() + 66600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang this.getContentDispositionHeader().toString() + "\r\n" 67600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang + content.toString(); 68600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } else { 69600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return "--" + boundary + "\r\n" + getContentTypeHeader() + "\r\n" + content.toString(); 70600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 71600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 72600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 73600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 74600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 75600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 76600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 77600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param contentDispositionHeader the contentDispositionHeader to set 78600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 79600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public void setContentDispositionHeader(ContentDispositionHeader contentDispositionHeader) { 80600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang this.contentDispositionHeader = contentDispositionHeader; 81600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 82600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 83600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 84600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 85600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 86600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return the contentDispositionHeader 87600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 88600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ContentDispositionHeader getContentDispositionHeader() { 89600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang return contentDispositionHeader; 90600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 91600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 92600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 93600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 94600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 95600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param contentTypeHeader the contentTypeHeader to set 96600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 97600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public void setContentTypeHeader(ContentTypeHeader contentTypeHeader) { 98600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang this.contentTypeHeader = contentTypeHeader; 99600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang } 100600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 101600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 102600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang} 103