public class EMSMessage extends SmsMessage implements MultiPartMessage
EMSText
EMSSound
EMSAnimation
EMSPicture
EMSMessage msg = new EMSMessage(service); msg.add(new EMSText("Hello", EMSTextFormat.BOLD)); msg.add(EMSAnimation.WOW); msg.add(new EMSText("World", EMSTextFormat.LARGE));
EMSMessage
,
Serialized FormCLASS_0, CLASS_1, CLASS_2, CLASS_3, DC_8BIT, DC_DEFAULT, DC_GROUP_DATA, DC_GROUP_GENERAL, DC_GROUP_MSG_WAITING_DISCARD, DC_GROUP_MSG_WAITING_STORE, DC_UCS2, INDICATION_ACTIVE, INDICATION_INACTIVE, INDICATION_TYPE_EMAIL, INDICATION_TYPE_FAX, INDICATION_TYPE_OTHER, INDICATION_TYPE_VOICEMAIL, NO_CLASS
ACK_TIME, MT_BINARY, MT_STATUS, MT_TEXT, SENDER_TYPE_ALPHA, SENDER_TYPE_GUESS, SENDER_TYPE_NUMBER
Constructor and Description |
---|
EMSMessage()
Constructor of an EMS message.
|
Modifier and Type | Method and Description |
---|---|
EMSMessage |
add(EMSElement element)
Add a
EMSElement to this message. |
EMSMessage |
add(EMSElement[] elements)
Add multiple
EMSElement objects to this message. |
EMSMessage |
add(java.lang.String text)
Adds an unformated text element.
|
void |
buildParts(java.lang.Class type,
int refnr)
Fragmentize the Multipart message.
|
void |
buildParts(int refnr)
This method will be called by
SmsService implementations prior to
sending a MultiPartMessage. |
boolean |
containsUserDataHeader()
Test if the Message parts will contains a User Data Header.
|
byte[] |
getBytes()
Get the message data.
|
EMSElement[] |
getElements()
Get the added
EMSElement objects. |
java.lang.String |
getMessage()
Gets the message as unformated text.
|
SmsMessage[] |
getParts()
Returns the message parts created by
buildParts(int) . |
java.util.Date |
getTimestamp()
Get the date where the message was sent / received.
|
byte[] |
getUserData()
Get the User Data of this message.
|
byte[] |
getUserDataHeader()
This will always return null.
|
void |
setMessage(byte[] bytes)
Sets the messages data explicitly.
|
void |
setMessage(java.lang.String message)
Sets the messages explicitly.
|
void |
setUserData(byte[] data)
Sets the messages data explicitly.
|
void |
setUserDataHeader(byte[] udh)
Has no effect on a EMS Message, since the user data header is
generated when the parts are
builded . |
copyFields, getAlphabet, getCodingGroup, getDeferredDeliveryAsDate, getDeferredDeliveryInMinutes, getID, getIndicationState, getIndicationType, getMessageClass, getParent, getPID, getRecipient, getRecipientAddress, getSender, getSenderAddress, getType, getValidityPeriodAsDate, getValidityPeriodInMinutes, hasDeferredDelivery, hasMessageClass, hasValidityPeriod, isCompressed, isMMS, isRejectDuplicates, isRelativeDeferredDelivery, isRelativeValidityPeriod, isReplyPath, requestStatusReport, requestStatusReport, setAlphabet, setCodingGroup, setCompression, setDeferredDelivery, setDeferredDelivery, setIndicationState, setIndicationType, setMessageClass, setMMS, setParent, setPID, setRecipient, setRecipientAddress, setRejectDuplicates, setReplyPath, setSender, setSenderAddress, setType, setUserDataHeader, setValidityPeriod, setValidityPeriod, toString
clone, getProperty, getSenderType, setID, setProperty, setSenderType
public EMSMessage add(EMSElement element)
EMSElement
to this message.element
- an EMS Element.public EMSMessage add(EMSElement[] elements)
EMSElement
objects to this message.elements
- an array containing EMS elements.public EMSMessage add(java.lang.String text)
add(new EMSText(text,null))
text
- a textadd(EMSElement)
public EMSElement[] getElements()
EMSElement
objects.EMSElement
objectspublic boolean containsUserDataHeader()
containsUserDataHeader
in class SmsMessage
public byte[] getUserDataHeader()
getUserDataHeader
in class SmsMessage
public void setUserDataHeader(byte[] udh)
builded
.setUserDataHeader
in class SmsMessage
udh
- the header data as byte array or null to clear the headerSmsMessage.setUserDataHeader(byte[])
public final void buildParts(int refnr)
MultiPartMessage
SmsService
implementations prior to
sending a MultiPartMessage.
buildParts() will split the message into multiple parts if necessary. The
parts can then be accessed by calling MultiPartMessage.getParts()
.
Please note that there is no need to invoke this method directly since SmsService implementations call this method automatically.
buildParts
in interface MultiPartMessage
refnr
- the reference-number to use for concatenated messages.public final void buildParts(java.lang.Class type, int refnr) throws java.lang.IllegalArgumentException
MultiPartMessage
Invoke this method before sending a Multipart message if you want to specify the type of the resulting fragments.
Example
The following example shows how to set the CIMD2 specific priority flag
on all fragments of a Multipart message:
Ringtone rt = new Ringtone("..."); rt.buildParts(Cimd2Message.class, myRefnr++); Cimd2Message[] fragments = (Cimd2Message[]) rt.getParts(); for( int i=0; i < fragments.length; i++ ) { fragments[i].setPriority(new Integer(5)); } cimd2Service.sendMessage(rt);
buildParts
in interface MultiPartMessage
type
- the type used for the fragments. Must be an instance of SmsMessage
.refnr
- the reference-number to use for the concatenated messages.java.lang.IllegalArgumentException
- if the type is not an instance of SmsMessage or
is an instance of MultiPartMessage.public final SmsMessage[] getParts()
buildParts(int)
.getParts
in interface MultiPartMessage
MultiPartMessage.getParts()
public byte[] getBytes()
getUserData()
.getBytes
in class SmsMessage
getUserData()
public java.lang.String getMessage()
getMessage
in class SmsMessage
Message.getMessage()
public byte[] getUserData()
EMSElement
objects have been added
, the
text message (getMessage()
is converted into bytes and returned.getUserData
in class SmsMessage
SmsMessage.getUserData()
public void setMessage(java.lang.String message)
EMSElement
objects which have been added
are
removed internally.setMessage
in class SmsMessage
message
- a text messageMessage.setMessage(java.lang.String)
public void setUserData(byte[] data)
EMSElement
objects which have been added
are
removed internally.setUserData
in class SmsMessage
data
- the user data as byte array or null to clear the user data.SmsMessage.setUserData(byte[])
public void setMessage(byte[] bytes)
EMSElement
objects which have been added
are
removed internally.setMessage
in class SmsMessage
bytes
- the user data as byte arrayMessage.setMessage(byte[])
public java.util.Date getTimestamp()
Message
getTimestamp
in interface MultiPartMessage
getTimestamp
in class Message
object XP, Inc. © 2000-2013. All rights reserved object XP