sg.edu.nyp.drmPublisher
Class MMSFile

java.lang.Object
  extended bysg.edu.nyp.drmPublisher.MMSFile

public class MMSFile
extends java.lang.Object

Build a MMS message file to send a specified content.

Author:
Pierre Trocme

Constructor Summary
MMSFile(java.lang.String from, java.lang.String to, java.lang.String cc, java.lang.String bcc)
          Create a new MMSFile.
 
Method Summary
 void addBccAddress(java.lang.String arg0)
           
 void addCcAddress(java.lang.String arg0)
           
 void AddContent(java.io.File file)
          Add the specified file to the specified MMS message.
 void addToAddress(java.lang.String arg0)
           
 void clearBcc()
           
 void clearCc()
           
 void clearTo()
           
static java.lang.String formatAddress(java.lang.String currentAddress)
          Format an address according to the MMS specifications.
 java.io.File generateMMSFile()
          Generate the MMS File handelt by this MMSFile Object.
 java.io.File generateMMSFile(java.lang.String path)
          Generate the MMS File handelt by this MMSFile Object.
 java.util.Vector getBcc()
           
 java.util.Vector getCc()
           
 com.nokia.mms.MMContent getContent(int arg0)
           
 com.nokia.mms.MMContent getContent(java.lang.String arg0)
           
 java.lang.String getContentType()
           
 java.util.Date getDate()
           
 boolean getDeliveryReport()
           
 java.util.Date getDeliveryTime()
           
 java.util.Date getExpiry()
           
 com.nokia.mms.MMAddress getFrom()
           
 byte getMessageClass()
           
 java.lang.String getMessageId()
           
 byte getMessageStatus()
           
 byte getMessageType()
           
 java.lang.String getMmsFileName()
           
 java.lang.String getMultipartRelatedType()
           
 int getNumContents()
           
 com.nokia.mms.MMContent getPresentation()
           
 java.lang.String getPresentationId()
           
 byte getPriority()
           
 boolean getReadReply()
           
 byte getSenderVisibility()
           
 java.lang.String getSubject()
           
 java.util.Vector getTo()
           
 java.lang.String getTransactionId()
           
 byte getVersion()
           
 java.lang.String getVersionAsString()
           
 boolean isBccAvailable()
           
 boolean isCcAvailable()
           
 boolean isContentTypeAvailable()
           
 boolean isDateAvailable()
           
 boolean isDeliveryReportAvailable()
           
 boolean isDeliveryTimeAbsolute()
           
 boolean isDeliveryTimeAvailable()
           
 boolean isExpiryAbsolute()
           
 boolean isExpiryAvailable()
           
 boolean isFromAvailable()
           
 boolean isMessageClassAvailable()
           
 boolean isMessageIdAvailable()
           
 boolean isMessageTypeAvailable()
           
 boolean isPresentationAvailable()
           
 boolean isPriorityAvailable()
           
 boolean isReadReplyAvailable()
           
 boolean isSenderVisibilityAvailable()
           
 boolean isStatusAvailable()
           
 boolean isSubjectAvailable()
           
 boolean isToAvailable()
           
 boolean isTransactionIdAvailable()
           
 boolean isVersionAvailable()
           
 void setContentType(java.lang.String arg0)
           
 void setDate(java.util.Date arg0)
           
 void setDeliveryReport(boolean arg0)
           
 void setDeliveryTime(java.util.Date arg0)
           
 void setDeliveryTimeAbsolute(boolean arg0)
           
 void setExpiry(java.util.Date arg0)
           
 void setExpiryAbsolute(boolean arg0)
           
 void setFrom(java.lang.String arg0)
           
 void setMessageClass(byte arg0)
           
 void setMessageId(java.lang.String arg0)
           
 void setMessageStatus(byte arg0)
           
 void setMessageType(byte arg0)
           
 void setMmsFileName(java.lang.String string)
           
 void setMultipartRelatedType(java.lang.String arg0)
           
 void setPresentationId(java.lang.String arg0)
           
 void setPriority(byte arg0)
           
 void setReadReply(boolean arg0)
           
 void setSenderVisibility(byte arg0)
           
 void setSubject(java.lang.String arg0)
           
 void setTransactionId(java.lang.String arg0)
           
 void setVersion(byte arg0)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MMSFile

public MMSFile(java.lang.String from,
               java.lang.String to,
               java.lang.String cc,
               java.lang.String bcc)
Create a new MMSFile. At least one of the to/cc/bcc and from String should not be null.

Parameters:
from - the sender address, under a MMS form.
to - the first reciepient address under a MMS form.
cc - the first cc address under MMS form.
bcc - the first bcc address under a MMS form.
See Also:
formatAddress
Method Detail

generateMMSFile

public java.io.File generateMMSFile()
Generate the MMS File handelt by this MMSFile Object. The resulting file will be created in the execution directory.

Returns:
The generated File

generateMMSFile

public java.io.File generateMMSFile(java.lang.String path)
Generate the MMS File handelt by this MMSFile Object.

Parameters:
path - the destination directory
Returns:
The generated File

AddContent

public void AddContent(java.io.File file)
Add the specified file to the specified MMS message. The content Type is automaticaly resolved using the MIMEType class.

Parameters:
file - The File to be added

addBccAddress

public void addBccAddress(java.lang.String arg0)
Parameters:
arg0 -

addCcAddress

public void addCcAddress(java.lang.String arg0)
Parameters:
arg0 -

addToAddress

public void addToAddress(java.lang.String arg0)
Parameters:
arg0 -

clearBcc

public void clearBcc()

clearCc

public void clearCc()

clearTo

public void clearTo()

getBcc

public java.util.Vector getBcc()
Returns:

getCc

public java.util.Vector getCc()
Returns:

getContent

public com.nokia.mms.MMContent getContent(int arg0)
Parameters:
arg0 -
Returns:

getContent

public com.nokia.mms.MMContent getContent(java.lang.String arg0)
Parameters:
arg0 -
Returns:

getContentType

public java.lang.String getContentType()
Returns:

getDate

public java.util.Date getDate()
Returns:

getDeliveryReport

public boolean getDeliveryReport()
Returns:

getDeliveryTime

public java.util.Date getDeliveryTime()
Returns:

getExpiry

public java.util.Date getExpiry()
Returns:

getFrom

public com.nokia.mms.MMAddress getFrom()
Returns:

getMessageClass

public byte getMessageClass()
Returns:

getMessageId

public java.lang.String getMessageId()
Returns:

getMessageStatus

public byte getMessageStatus()
Returns:

getMessageType

public byte getMessageType()
Returns:

getMultipartRelatedType

public java.lang.String getMultipartRelatedType()
Returns:

getNumContents

public int getNumContents()
Returns:

getPresentation

public com.nokia.mms.MMContent getPresentation()
Returns:

getPresentationId

public java.lang.String getPresentationId()
Returns:

getPriority

public byte getPriority()
Returns:

getReadReply

public boolean getReadReply()
Returns:

getSenderVisibility

public byte getSenderVisibility()
Returns:

getSubject

public java.lang.String getSubject()
Returns:

getTo

public java.util.Vector getTo()
Returns:

getTransactionId

public java.lang.String getTransactionId()
Returns:

getVersion

public byte getVersion()
Returns:

getVersionAsString

public java.lang.String getVersionAsString()
Returns:

isBccAvailable

public boolean isBccAvailable()
Returns:

isCcAvailable

public boolean isCcAvailable()
Returns:

isContentTypeAvailable

public boolean isContentTypeAvailable()
Returns:

isDateAvailable

public boolean isDateAvailable()
Returns:

isDeliveryReportAvailable

public boolean isDeliveryReportAvailable()
Returns:

isDeliveryTimeAbsolute

public boolean isDeliveryTimeAbsolute()
Returns:

isDeliveryTimeAvailable

public boolean isDeliveryTimeAvailable()
Returns:

isExpiryAbsolute

public boolean isExpiryAbsolute()
Returns:

isExpiryAvailable

public boolean isExpiryAvailable()
Returns:

isFromAvailable

public boolean isFromAvailable()
Returns:

isMessageClassAvailable

public boolean isMessageClassAvailable()
Returns:

isMessageIdAvailable

public boolean isMessageIdAvailable()
Returns:

isMessageTypeAvailable

public boolean isMessageTypeAvailable()
Returns:

isPresentationAvailable

public boolean isPresentationAvailable()
Returns:

isPriorityAvailable

public boolean isPriorityAvailable()
Returns:

isReadReplyAvailable

public boolean isReadReplyAvailable()
Returns:

isSenderVisibilityAvailable

public boolean isSenderVisibilityAvailable()
Returns:

isStatusAvailable

public boolean isStatusAvailable()
Returns:

isSubjectAvailable

public boolean isSubjectAvailable()
Returns:

isToAvailable

public boolean isToAvailable()
Returns:

isTransactionIdAvailable

public boolean isTransactionIdAvailable()
Returns:

isVersionAvailable

public boolean isVersionAvailable()
Returns:

setContentType

public void setContentType(java.lang.String arg0)
Parameters:
arg0 -

setDate

public void setDate(java.util.Date arg0)
Parameters:
arg0 -

setDeliveryReport

public void setDeliveryReport(boolean arg0)
Parameters:
arg0 -

setDeliveryTime

public void setDeliveryTime(java.util.Date arg0)
Parameters:
arg0 -

setDeliveryTimeAbsolute

public void setDeliveryTimeAbsolute(boolean arg0)
Parameters:
arg0 -

setExpiry

public void setExpiry(java.util.Date arg0)
Parameters:
arg0 -

setExpiryAbsolute

public void setExpiryAbsolute(boolean arg0)
Parameters:
arg0 -

setFrom

public void setFrom(java.lang.String arg0)
Parameters:
arg0 -

setMessageClass

public void setMessageClass(byte arg0)
Parameters:
arg0 -

setMessageId

public void setMessageId(java.lang.String arg0)
Parameters:
arg0 -

setMessageStatus

public void setMessageStatus(byte arg0)
Parameters:
arg0 -

setMessageType

public void setMessageType(byte arg0)
Parameters:
arg0 -

setMultipartRelatedType

public void setMultipartRelatedType(java.lang.String arg0)
Parameters:
arg0 -

setPresentationId

public void setPresentationId(java.lang.String arg0)
Parameters:
arg0 -

setPriority

public void setPriority(byte arg0)
Parameters:
arg0 -

setReadReply

public void setReadReply(boolean arg0)
Parameters:
arg0 -

setSenderVisibility

public void setSenderVisibility(byte arg0)
Parameters:
arg0 -

setSubject

public void setSubject(java.lang.String arg0)
Parameters:
arg0 -

setTransactionId

public void setTransactionId(java.lang.String arg0)
Parameters:
arg0 -

setVersion

public void setVersion(byte arg0)
Parameters:
arg0 -

getMmsFileName

public java.lang.String getMmsFileName()
Returns:

setMmsFileName

public void setMmsFileName(java.lang.String string)
Parameters:
string -

formatAddress

public static java.lang.String formatAddress(java.lang.String currentAddress)
                                      throws NonMMSAddressException
Format an address according to the MMS specifications. Email addresses and telephone numbers are accepted. Email address should be conform to the RFC822 specification, and their validity is NOT tested by this method. Telephone number should be formated according to the ITU-T E.164 specification and start with the + international indicator. Any spaces or dot will be removed by this method.

Parameters:
currentAddress - the phone number or email address
Returns:
the MMS formatted input address.
Throws:
NonMMSAddressException - if the input address is not a reconized MMS address type.