net.sourceforge.jmmslib
Class MmsEncoder

java.lang.Object
  extended by net.sourceforge.jmmslib.MmsEncoder

public class MmsEncoder
extends java.lang.Object

Encodes an MmsMessage class in a binary MMS object ready to be sent to an MMSC.

The encoding follows the specification provided by Open Mobile Alliance. Relevant documents are WAP-209-MMSEncapsulation-20020105-a and WAP-230-WSP-20010705-a.

A simple usage scenario of MmsEncoder is as follow:

          MmsMessage mms = new MmsMessage();
          
          //fill out mms fields...
          MmsEncoder mmsEncoder = new MmsEncoder(mms);
          byte[] encodedMMS = mmmsEncoder.encodeMessage();
        

To see what are the supported fields and values of an mms refer to the documentation of MmsMessage

Version:
0.8
Author:
Andrea Zito
See Also:
MmsMessage

Field Summary
static byte CHARSET_US_ASCII
           
static byte CHARSET_UTF8
           
static byte CTYPE_APPLICATION_MULTIPART_MIXED
           
static byte CTYPE_APPLICATION_MULTIPART_RELATED
           
static byte CTYPE_IMAGE
           
static byte CTYPE_IMAGE_GIF
           
static byte CTYPE_IMAGE_JPEG
           
static byte CTYPE_IMAGE_PNG
           
static byte CTYPE_IMAGE_TIFF
           
static byte CTYPE_IMAGE_VND_WAP_WBMP
           
static byte CTYPE_MULTIPART
           
static byte CTYPE_MULTIPART_MIXED
           
static byte CTYPE_TEXT
           
static byte CTYPE_TEXT_HTML
           
static byte CTYPE_TEXT_PLAIN
           
static byte CTYPE_TEXT_WML
           
static byte CTYPE_UNKNOWN
           
protected static byte H_BASE
           
protected static byte H_MMS_BCC
           
protected static byte H_MMS_CC
           
protected static byte H_MMS_CLASS
           
protected static byte H_MMS_CONTENT_TYPE
           
protected static byte H_MMS_DATE
           
protected static byte H_MMS_DELIVERY_REPORT
           
protected static byte H_MMS_DELIVERY_TIME
           
protected static byte H_MMS_EXPIRY
           
protected static byte H_MMS_FROM
           
protected static byte H_MMS_MESSAGE_ID
           
protected static byte H_MMS_MESSAGE_TYPE
           
protected static byte H_MMS_PRIORITY
           
protected static byte H_MMS_READ_REPLY
           
protected static byte H_MMS_RESPONSE_STATUS
           
protected static byte H_MMS_RESPONSE_TEXT
           
protected static byte H_MMS_SENDER_VISIBILITY
           
protected static byte H_MMS_SUBJECT
           
protected static byte H_MMS_TO
           
protected static byte H_MMS_TRANSACTION_ID
           
protected static byte H_MMS_VERSION
           
static java.lang.String MMS_ADDRESS_TYPE_IPV4
           
static java.lang.String MMS_ADDRESS_TYPE_IPV6
           
static java.lang.String MMS_ADDRESS_TYPE_MAIL
           
static java.lang.String MMS_ADDRESS_TYPE_MOBILE_NUMBER
           
static byte MMS_CLASS_ADVERISEMENT
           
static byte MMS_CLASS_AUTO
           
static byte MMS_CLASS_INFORMATIONAL
           
static byte MMS_CLASS_PERSONAL
           
static byte MMS_DELIVERY_REPORT_NO
           
static byte MMS_DELIVERY_REPORT_YES
           
static byte MMS_MESSAGE_TYPE_SEND_CONF
           
static byte MMS_MESSAGE_TYPE_SEND_REQUEST
           
static byte MMS_PRIORITY_HIGH
           
static byte MMS_PRIORITY_LOW
           
static byte MMS_PRIORITY_NORMAL
           
static byte MMS_READ_REPLY_NO
           
static byte MMS_READ_REPLY_YES
           
static byte MMS_RESPONSE_STATUS_ERROR_CONTENT_NOT_ACCEPTED
           
static byte MMS_RESPONSE_STATUS_ERROR_MESSAGE_FORMAT_CORRUPT
           
static byte MMS_RESPONSE_STATUS_ERROR_MESSAGE_NOT_FOUND
           
static byte MMS_RESPONSE_STATUS_ERROR_NETWORK_PROBLEM
           
static byte MMS_RESPONSE_STATUS_ERROR_SENDING_ADDRESS_UNRESOLVED
           
static byte MMS_RESPONSE_STATUS_ERROR_SERVICE_DENIED
           
static byte MMS_RESPONSE_STATUS_ERROR_UNSPECIFIED
           
static byte MMS_RESPONSE_STATUS_ERROR_UNSUPPORTED_MESSAGE
           
static byte MMS_RESPONSE_STATUS_OK
           
static byte MMS_SENDER_VISIBILITY_HIDE
           
static byte MMS_SENDER_VISIBILITY_SHOW
           
static byte MMS_VERSION_1
           
static byte NULL_CHAR
           
protected static byte P_CHARSET
           
 
Constructor Summary
MmsEncoder(MmsMessage mms)
          Creates an MmsEncoder object for the specified MMS message
 
Method Summary
 byte[] encodeMessage()
          Encodes the MmsMessage object associated with this instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

H_BASE

protected static final byte H_BASE
See Also:
Constant Field Values

H_MMS_MESSAGE_TYPE

protected static final byte H_MMS_MESSAGE_TYPE
See Also:
Constant Field Values

H_MMS_TRANSACTION_ID

protected static final byte H_MMS_TRANSACTION_ID
See Also:
Constant Field Values

H_MMS_VERSION

protected static final byte H_MMS_VERSION
See Also:
Constant Field Values

H_MMS_DATE

protected static final byte H_MMS_DATE
See Also:
Constant Field Values

H_MMS_FROM

protected static final byte H_MMS_FROM
See Also:
Constant Field Values

H_MMS_TO

protected static final byte H_MMS_TO
See Also:
Constant Field Values

H_MMS_CC

protected static final byte H_MMS_CC
See Also:
Constant Field Values

H_MMS_BCC

protected static final byte H_MMS_BCC
See Also:
Constant Field Values

H_MMS_SUBJECT

protected static final byte H_MMS_SUBJECT
See Also:
Constant Field Values

H_MMS_CLASS

protected static final byte H_MMS_CLASS
See Also:
Constant Field Values

H_MMS_EXPIRY

protected static final byte H_MMS_EXPIRY
See Also:
Constant Field Values

H_MMS_DELIVERY_TIME

protected static final byte H_MMS_DELIVERY_TIME
See Also:
Constant Field Values

H_MMS_PRIORITY

protected static final byte H_MMS_PRIORITY
See Also:
Constant Field Values

H_MMS_SENDER_VISIBILITY

protected static final byte H_MMS_SENDER_VISIBILITY
See Also:
Constant Field Values

H_MMS_DELIVERY_REPORT

protected static final byte H_MMS_DELIVERY_REPORT
See Also:
Constant Field Values

H_MMS_READ_REPLY

protected static final byte H_MMS_READ_REPLY
See Also:
Constant Field Values

H_MMS_CONTENT_TYPE

protected static final byte H_MMS_CONTENT_TYPE
See Also:
Constant Field Values

H_MMS_RESPONSE_STATUS

protected static final byte H_MMS_RESPONSE_STATUS
See Also:
Constant Field Values

H_MMS_RESPONSE_TEXT

protected static final byte H_MMS_RESPONSE_TEXT
See Also:
Constant Field Values

H_MMS_MESSAGE_ID

protected static final byte H_MMS_MESSAGE_ID
See Also:
Constant Field Values

P_CHARSET

protected static final byte P_CHARSET
See Also:
Constant Field Values

NULL_CHAR

public static final byte NULL_CHAR
See Also:
Constant Field Values

CHARSET_US_ASCII

public static final byte CHARSET_US_ASCII
See Also:
Constant Field Values

CHARSET_UTF8

public static final byte CHARSET_UTF8
See Also:
Constant Field Values

MMS_MESSAGE_TYPE_SEND_REQUEST

public static final byte MMS_MESSAGE_TYPE_SEND_REQUEST
See Also:
Constant Field Values

MMS_MESSAGE_TYPE_SEND_CONF

public static final byte MMS_MESSAGE_TYPE_SEND_CONF
See Also:
Constant Field Values

MMS_VERSION_1

public static final byte MMS_VERSION_1
See Also:
Constant Field Values

MMS_DELIVERY_REPORT_YES

public static final byte MMS_DELIVERY_REPORT_YES
See Also:
Constant Field Values

MMS_DELIVERY_REPORT_NO

public static final byte MMS_DELIVERY_REPORT_NO
See Also:
Constant Field Values

MMS_CLASS_PERSONAL

public static final byte MMS_CLASS_PERSONAL
See Also:
Constant Field Values

MMS_CLASS_ADVERISEMENT

public static final byte MMS_CLASS_ADVERISEMENT
See Also:
Constant Field Values

MMS_CLASS_INFORMATIONAL

public static final byte MMS_CLASS_INFORMATIONAL
See Also:
Constant Field Values

MMS_CLASS_AUTO

public static final byte MMS_CLASS_AUTO
See Also:
Constant Field Values

MMS_PRIORITY_LOW

public static final byte MMS_PRIORITY_LOW
See Also:
Constant Field Values

MMS_PRIORITY_NORMAL

public static final byte MMS_PRIORITY_NORMAL
See Also:
Constant Field Values

MMS_PRIORITY_HIGH

public static final byte MMS_PRIORITY_HIGH
See Also:
Constant Field Values

MMS_READ_REPLY_YES

public static final byte MMS_READ_REPLY_YES
See Also:
Constant Field Values

MMS_READ_REPLY_NO

public static final byte MMS_READ_REPLY_NO
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_OK

public static final byte MMS_RESPONSE_STATUS_OK
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_UNSPECIFIED

public static final byte MMS_RESPONSE_STATUS_ERROR_UNSPECIFIED
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_SERVICE_DENIED

public static final byte MMS_RESPONSE_STATUS_ERROR_SERVICE_DENIED
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_MESSAGE_FORMAT_CORRUPT

public static final byte MMS_RESPONSE_STATUS_ERROR_MESSAGE_FORMAT_CORRUPT
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_SENDING_ADDRESS_UNRESOLVED

public static final byte MMS_RESPONSE_STATUS_ERROR_SENDING_ADDRESS_UNRESOLVED
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_MESSAGE_NOT_FOUND

public static final byte MMS_RESPONSE_STATUS_ERROR_MESSAGE_NOT_FOUND
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_NETWORK_PROBLEM

public static final byte MMS_RESPONSE_STATUS_ERROR_NETWORK_PROBLEM
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_CONTENT_NOT_ACCEPTED

public static final byte MMS_RESPONSE_STATUS_ERROR_CONTENT_NOT_ACCEPTED
See Also:
Constant Field Values

MMS_RESPONSE_STATUS_ERROR_UNSUPPORTED_MESSAGE

public static final byte MMS_RESPONSE_STATUS_ERROR_UNSUPPORTED_MESSAGE
See Also:
Constant Field Values

MMS_SENDER_VISIBILITY_HIDE

public static final byte MMS_SENDER_VISIBILITY_HIDE
See Also:
Constant Field Values

MMS_SENDER_VISIBILITY_SHOW

public static final byte MMS_SENDER_VISIBILITY_SHOW
See Also:
Constant Field Values

MMS_ADDRESS_TYPE_MOBILE_NUMBER

public static final java.lang.String MMS_ADDRESS_TYPE_MOBILE_NUMBER
See Also:
Constant Field Values

MMS_ADDRESS_TYPE_MAIL

public static final java.lang.String MMS_ADDRESS_TYPE_MAIL
See Also:
Constant Field Values

MMS_ADDRESS_TYPE_IPV4

public static final java.lang.String MMS_ADDRESS_TYPE_IPV4
See Also:
Constant Field Values

MMS_ADDRESS_TYPE_IPV6

public static final java.lang.String MMS_ADDRESS_TYPE_IPV6
See Also:
Constant Field Values

CTYPE_UNKNOWN

public static final byte CTYPE_UNKNOWN
See Also:
Constant Field Values

CTYPE_TEXT

public static final byte CTYPE_TEXT
See Also:
Constant Field Values

CTYPE_TEXT_HTML

public static final byte CTYPE_TEXT_HTML
See Also:
Constant Field Values

CTYPE_TEXT_PLAIN

public static final byte CTYPE_TEXT_PLAIN
See Also:
Constant Field Values

CTYPE_TEXT_WML

public static final byte CTYPE_TEXT_WML
See Also:
Constant Field Values

CTYPE_IMAGE

public static final byte CTYPE_IMAGE
See Also:
Constant Field Values

CTYPE_IMAGE_JPEG

public static final byte CTYPE_IMAGE_JPEG
See Also:
Constant Field Values

CTYPE_IMAGE_GIF

public static final byte CTYPE_IMAGE_GIF
See Also:
Constant Field Values

CTYPE_IMAGE_TIFF

public static final byte CTYPE_IMAGE_TIFF
See Also:
Constant Field Values

CTYPE_IMAGE_PNG

public static final byte CTYPE_IMAGE_PNG
See Also:
Constant Field Values

CTYPE_IMAGE_VND_WAP_WBMP

public static final byte CTYPE_IMAGE_VND_WAP_WBMP
See Also:
Constant Field Values

CTYPE_MULTIPART

public static final byte CTYPE_MULTIPART
See Also:
Constant Field Values

CTYPE_MULTIPART_MIXED

public static final byte CTYPE_MULTIPART_MIXED
See Also:
Constant Field Values

CTYPE_APPLICATION_MULTIPART_MIXED

public static final byte CTYPE_APPLICATION_MULTIPART_MIXED
See Also:
Constant Field Values

CTYPE_APPLICATION_MULTIPART_RELATED

public static final byte CTYPE_APPLICATION_MULTIPART_RELATED
See Also:
Constant Field Values
Constructor Detail

MmsEncoder

public MmsEncoder(MmsMessage mms)
Creates an MmsEncoder object for the specified MMS message

Method Detail

encodeMessage

public byte[] encodeMessage()
                     throws MmsEncodingException
Encodes the MmsMessage object associated with this instance.

Returns:
encoded mms message
Throws:
MmsEncodingException - error encoding message