com.pff
Class PSTMessage

java.lang.Object
  extended by com.pff.PSTObject
      extended by com.pff.PSTMessage
Direct Known Subclasses:
PSTActivity, PSTAppointment, PSTContact, PSTRss, PSTTask

public class PSTMessage
extends PSTObject

PST Message contains functions that are common across most MAPI objects. Note that many of these functions may not be applicable for the item in question, however there seems to be no hard and fast outline for what properties apply to which objects. For properties where no value is set, a blank value is returned (rather than an exception being raised).


Field Summary
static int IMPORTANCE_HIGH
           
static int IMPORTANCE_LOW
           
static int IMPORTANCE_NORMAL
           
static int RECIPIENT_TYPE_CC
           
static int RECIPIENT_TYPE_TO
           
 
Fields inherited from class com.pff.PSTObject
children, data, descriptorIndexNode, items, localDescriptorItems, NID_TYPE_ASSOC_CONTENTS_TABLE, NID_TYPE_ASSOC_MESSAGE, NID_TYPE_ATTACHMENT, NID_TYPE_ATTACHMENT_TABLE, NID_TYPE_CONTENTS_TABLE, NID_TYPE_CONTENTS_TABLE_INDEX, NID_TYPE_HID, NID_TYPE_HIERARCHY_TABLE, NID_TYPE_INTERNAL, NID_TYPE_LTP, NID_TYPE_NORMAL_FOLDER, NID_TYPE_NORMAL_MESSAGE, NID_TYPE_OUTGOING_QUEUE_TABLE, NID_TYPE_RECEIVE_FOLDER_TABLE, NID_TYPE_RECIPIENT_TABLE, NID_TYPE_SEARCH_CONTENTS_TABLE, NID_TYPE_SEARCH_CRITERIA_OBJECT, NID_TYPE_SEARCH_FOLDER, NID_TYPE_SEARCH_TABLE_INDEX, NID_TYPE_SEARCH_UPDATE_QUEUE, pstFile, table
 
Method Summary
 int getAcknowledgementMode()
          Acknowledgment mode Integer 32-bit signed
 java.util.Date getActionDate()
          the date that this item had an action performed (eg.
 int getActionFlag()
          Action flag This relates to the replying / forwarding of messages.
 PSTAttachment getAttachment(int attachmentNumber)
          get a specific attachment from this email.
 boolean getAttrHidden()
          Attribute hidden
 boolean getAttrReadonly()
          Attribute read only
 boolean getAttrSystem()
          Attribute system
 java.lang.String getBody()
          Plain text e-mail body
 java.lang.String getBodyHTML()
          HTML e-mail body
 java.lang.String getBodyPrefix()
           
 java.util.Date getClientSubmitTime()
          get the client submit time
 java.lang.String[] getColorCategories()
          get the categories defined for this message
 java.lang.String getConversationTopic()
          Conversation topic This is basically the subject from which Fwd:, Re, etc.
 boolean getDeleteAfterSubmit()
          Delete after submit
 boolean getDisableFullFidelity()
          Disable full fidelity
 java.lang.String getDisplayBCC()
          Display BCC
 java.lang.String getDisplayCC()
          Display CC
 java.lang.String getDisplayTo()
          Display To
 int getIconIndex()
          Icon index
 int getImportance()
          get the importance of the email
 java.lang.String getInReplyToId()
          In-Reply-To
 int getInternetArticleNumber()
          Internet article number
 java.lang.String getInternetMessageId()
          Message ID for this email as allocated per rfc2822
 boolean getMessageCcMe()
          My address in CC field Boolean
 java.lang.String getMessageClass()
          get the message class for the email
 java.util.Date getMessageDeliveryTime()
          Message delivery time
 java.lang.String getMessageRecipMe()
          Message addressed to me ASCII or Unicode string
 long getMessageSize()
          Message size
 boolean getMessageToMe()
          My address in To field Boolean
 java.lang.String getNextSendAcct()
           
 int getNumberOfAttachments()
          get the number of attachments for this message
 int getNumberOfRecipients()
          get the number of recipients for this message
 int getObjectType()
          Object type
 java.lang.String getOriginalDisplayBcc()
          Original display BCC ASCII or Unicode string
 java.lang.String getOriginalDisplayCc()
          Original display CC ASCII or Unicode string
 java.lang.String getOriginalDisplayTo()
          Original display TO ASCII or Unicode string
 int getOriginalSensitivity()
          Original sensitivity Integer 32-bit signed the sensitivity of the message before being replied to or forwarded 0 = None 1 = Personal 2 = Private 3 = Company Confidential
 java.lang.String getOriginalSubject()
          Original subject ASCII or Unicode string
 boolean getOriginatorDeliveryReportRequested()
          Originator delivery report requested set if the sender wants a delivery report from all recipients 0 = false 0 != true
 byte[] getPidTagSentRepresentingSearchKey()
           
 java.lang.String getPrimarySendAccount()
           
 int getPriority()
          Priority Integer 32-bit signed -1 = NonUrgent 0 = Normal 1 = Urgent
 java.lang.String getRcvdRepresentingAddrtype()
          Received representing address type.
 java.lang.String getRcvdRepresentingEmailAddress()
          Received representing e-mail address
 java.lang.String getRcvdRepresentingName()
          Received representing name ASCII or Unicode string
 boolean getReadReceiptRequested()
          Read Receipt Requested Boolean 0 = false 0 != true
 java.lang.String getReceivedByAddress()
          Received by email address
 java.lang.String getReceivedByAddressType()
          Received by address type Known values are SMTP, EX (Exchange) and UNKNOWN
 java.lang.String getReceivedByName()
          get received by name
 PSTRecipient getRecipient(int recipientNumber)
          get a specific recipient from this email.
 boolean getRecipientReassignmentProhibited()
          Recipient Reassignment Prohibited Boolean 0 = false 0 != true
 java.lang.String getRecipientsString()
           
 int getRecipientType()
          Recipient type Integer 32-bit signed 0x01 => To 0x02 =>CC
 int getReminderDelta()
           
 boolean getReminderSet()
          Is a reminder set on this object?
 java.lang.String getReplyRecipientNames()
          Reply recipients names ASCII or Unicode string
 boolean getResponseRequested()
          Response requested Boolean
 boolean getResponsibility()
          Responsibility
 java.lang.String getReturnPath()
          Return Path
 java.lang.String getRTFBody()
           
 int getRTFSyncBodyCount()
          RTF Sync Body character count
 int getRTFSyncBodyCRC()
          RTF Sync Body CRC
 java.lang.String getRTFSyncBodyTag()
          RTF Sync body tag
 int getRTFSyncPrefixCount()
          RTF whitespace prefix count
 int getRTFSyncTrailingCount()
          RTF whitespace tailing count
 java.lang.String getSenderAddrtype()
          Sender address type.
 java.lang.String getSenderEmailAddress()
          Sender e-mail address
 byte[] getSenderEntryId()
           
 java.lang.String getSenderName()
          Sender name
 int getSensitivity()
          Sensitivity Integer 32-bit signed sender's opinion of the sensitivity of an email 0 = None 1 = Personal 2 = Private 3 = Company Confidential
 java.lang.String getSentRepresentingAddressType()
          Sent representing address type Known values are SMTP, EX (Exchange) and UNKNOWN
 java.lang.String getSentRepresentingAddrtype()
          Sent representing address type ASCII or Unicode string Known values are SMTP, EX (Exchange) and UNKNOWN
 java.lang.String getSentRepresentingEmailAddress()
          Sent representing email address
 java.lang.String getSentRepresentingName()
          get sent representing name
 java.lang.String getSubject()
          get the subject
 java.util.Date getTaskDueDate()
          Due date Filetime
 java.util.Date getTaskStartDate()
          Start date Filetime
 java.lang.String getTransportMessageHeaders()
          Transport message headers ASCII or Unicode string These contain the SMTP e-mail headers.
 java.lang.String getURLCompName()
          URL computer name Contains the .eml file name
 int getURLCompNamePostfix()
          URL computer name postfix
 boolean hasAttachments()
           
 boolean hasForwarded()
          is the action flag for this item "forward"?
 boolean hasReplied()
          is the action flag for this item "replied"?
 boolean isAssociated()
           
 boolean isFlagged()
          "flagged" items are actually emails with a due date.
 boolean isFromMe()
           
 boolean isNonReceiptNotificationRequested()
          Non receipt notification requested
 boolean isOriginatorNonDeliveryReportRequested()
          Originator non delivery report requested
 boolean isRead()
           
 boolean isReplyRequested()
          Reply requested
 boolean isResent()
           
 boolean isRTFInSync()
          Compressed RTF in Sync Boolean
 boolean isSubmitted()
           
 boolean isUnmodified()
           
 boolean isUnsent()
           
 boolean isURLCompNameSet()
          URL computer name set
 java.lang.String toString()
          string representation of this email
 
Methods inherited from class com.pff.PSTObject
apptTimeToCalendar, apptTimeToUTC, convertBigEndianBytesToLong, convertLittleEndianBytesToLong, convertLittleEndianBytesToLong, decode, detectAndLoadPSTObject, encode, filetimeToDate, getAddrType, getBinaryItem, getBooleanItem, getBooleanItem, getComment, getCreationTime, getDateItem, getDescriptorNode, getDescriptorNodeId, getDisplayName, getDoubleItem, getDoubleItem, getEmailAddress, getIntItem, getIntItem, getItemsString, getLastModificationTime, getLongItem, getLongItem, getNodeType, getNodeType, getStringItem, getStringItem, getStringItem, getTimeZoneItem, printHexFormatted, printHexFormatted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

IMPORTANCE_LOW

public static final int IMPORTANCE_LOW
See Also:
Constant Field Values

IMPORTANCE_NORMAL

public static final int IMPORTANCE_NORMAL
See Also:
Constant Field Values

IMPORTANCE_HIGH

public static final int IMPORTANCE_HIGH
See Also:
Constant Field Values

RECIPIENT_TYPE_TO

public static final int RECIPIENT_TYPE_TO
See Also:
Constant Field Values

RECIPIENT_TYPE_CC

public static final int RECIPIENT_TYPE_CC
See Also:
Constant Field Values
Method Detail

getRTFBody

public java.lang.String getRTFBody()
                            throws PSTException,
                                   java.io.IOException
Throws:
PSTException
java.io.IOException

getImportance

public int getImportance()
get the importance of the email

Returns:
IMPORTANCE_NORMAL if unknown

getMessageClass

public java.lang.String getMessageClass()
get the message class for the email

Overrides:
getMessageClass in class PSTObject
Returns:
empty string if unknown

getSubject

public java.lang.String getSubject()
get the subject

Returns:
empty string if not found

getClientSubmitTime

public java.util.Date getClientSubmitTime()
get the client submit time

Returns:
null if not found

getReceivedByName

public java.lang.String getReceivedByName()
get received by name

Returns:
empty string if not found

getSentRepresentingName

public java.lang.String getSentRepresentingName()
get sent representing name

Returns:
empty string if not found

getSentRepresentingAddressType

public java.lang.String getSentRepresentingAddressType()
Sent representing address type Known values are SMTP, EX (Exchange) and UNKNOWN

Returns:
empty string if not found

getSentRepresentingEmailAddress

public java.lang.String getSentRepresentingEmailAddress()
Sent representing email address

Returns:
empty string if not found

getConversationTopic

public java.lang.String getConversationTopic()
Conversation topic This is basically the subject from which Fwd:, Re, etc. has been removed

Returns:
empty string if not found

getReceivedByAddressType

public java.lang.String getReceivedByAddressType()
Received by address type Known values are SMTP, EX (Exchange) and UNKNOWN

Returns:
empty string if not found

getReceivedByAddress

public java.lang.String getReceivedByAddress()
Received by email address

Returns:
empty string if not found

getTransportMessageHeaders

public java.lang.String getTransportMessageHeaders()
Transport message headers ASCII or Unicode string These contain the SMTP e-mail headers.


isRead

public boolean isRead()

isUnmodified

public boolean isUnmodified()

isSubmitted

public boolean isSubmitted()

isUnsent

public boolean isUnsent()

hasAttachments

public boolean hasAttachments()

isFromMe

public boolean isFromMe()

isAssociated

public boolean isAssociated()

isResent

public boolean isResent()

getAcknowledgementMode

public int getAcknowledgementMode()
Acknowledgment mode Integer 32-bit signed


getOriginatorDeliveryReportRequested

public boolean getOriginatorDeliveryReportRequested()
Originator delivery report requested set if the sender wants a delivery report from all recipients 0 = false 0 != true


getPriority

public int getPriority()
Priority Integer 32-bit signed -1 = NonUrgent 0 = Normal 1 = Urgent


getReadReceiptRequested

public boolean getReadReceiptRequested()
Read Receipt Requested Boolean 0 = false 0 != true


getRecipientReassignmentProhibited

public boolean getRecipientReassignmentProhibited()
Recipient Reassignment Prohibited Boolean 0 = false 0 != true


getOriginalSensitivity

public int getOriginalSensitivity()
Original sensitivity Integer 32-bit signed the sensitivity of the message before being replied to or forwarded 0 = None 1 = Personal 2 = Private 3 = Company Confidential


getSensitivity

public int getSensitivity()
Sensitivity Integer 32-bit signed sender's opinion of the sensitivity of an email 0 = None 1 = Personal 2 = Private 3 = Company Confidential


getPidTagSentRepresentingSearchKey

public byte[] getPidTagSentRepresentingSearchKey()

getRcvdRepresentingName

public java.lang.String getRcvdRepresentingName()
Received representing name ASCII or Unicode string


getOriginalSubject

public java.lang.String getOriginalSubject()
Original subject ASCII or Unicode string


getReplyRecipientNames

public java.lang.String getReplyRecipientNames()
Reply recipients names ASCII or Unicode string


getMessageToMe

public boolean getMessageToMe()
My address in To field Boolean


getMessageCcMe

public boolean getMessageCcMe()
My address in CC field Boolean


getMessageRecipMe

public java.lang.String getMessageRecipMe()
Message addressed to me ASCII or Unicode string


getResponseRequested

public boolean getResponseRequested()
Response requested Boolean


getSentRepresentingAddrtype

public java.lang.String getSentRepresentingAddrtype()
Sent representing address type ASCII or Unicode string Known values are SMTP, EX (Exchange) and UNKNOWN


getOriginalDisplayBcc

public java.lang.String getOriginalDisplayBcc()
Original display BCC ASCII or Unicode string


getOriginalDisplayCc

public java.lang.String getOriginalDisplayCc()
Original display CC ASCII or Unicode string


getOriginalDisplayTo

public java.lang.String getOriginalDisplayTo()
Original display TO ASCII or Unicode string


getRcvdRepresentingAddrtype

public java.lang.String getRcvdRepresentingAddrtype()
Received representing address type. Known values are SMTP, EX (Exchange) and UNKNOWN


getRcvdRepresentingEmailAddress

public java.lang.String getRcvdRepresentingEmailAddress()
Received representing e-mail address


isNonReceiptNotificationRequested

public boolean isNonReceiptNotificationRequested()
Non receipt notification requested


isOriginatorNonDeliveryReportRequested

public boolean isOriginatorNonDeliveryReportRequested()
Originator non delivery report requested


getRecipientType

public int getRecipientType()
Recipient type Integer 32-bit signed 0x01 => To 0x02 =>CC


isReplyRequested

public boolean isReplyRequested()
Reply requested


getSenderEntryId

public byte[] getSenderEntryId()

getSenderName

public java.lang.String getSenderName()
Sender name


getSenderAddrtype

public java.lang.String getSenderAddrtype()
Sender address type. Known values are SMTP, EX (Exchange) and UNKNOWN


getSenderEmailAddress

public java.lang.String getSenderEmailAddress()
Sender e-mail address


getMessageSize

public long getMessageSize()
Message size


getInternetArticleNumber

public int getInternetArticleNumber()
Internet article number


getPrimarySendAccount

public java.lang.String getPrimarySendAccount()

getNextSendAcct

public java.lang.String getNextSendAcct()

getURLCompNamePostfix

public int getURLCompNamePostfix()
URL computer name postfix


getObjectType

public int getObjectType()
Object type


getDeleteAfterSubmit

public boolean getDeleteAfterSubmit()
Delete after submit


getResponsibility

public boolean getResponsibility()
Responsibility


isRTFInSync

public boolean isRTFInSync()
Compressed RTF in Sync Boolean


isURLCompNameSet

public boolean isURLCompNameSet()
URL computer name set


getDisplayBCC

public java.lang.String getDisplayBCC()
Display BCC


getDisplayCC

public java.lang.String getDisplayCC()
Display CC


getDisplayTo

public java.lang.String getDisplayTo()
Display To


getMessageDeliveryTime

public java.util.Date getMessageDeliveryTime()
Message delivery time


getBody

public java.lang.String getBody()
Plain text e-mail body


getBodyPrefix

public java.lang.String getBodyPrefix()

getRTFSyncBodyCRC

public int getRTFSyncBodyCRC()
RTF Sync Body CRC


getRTFSyncBodyCount

public int getRTFSyncBodyCount()
RTF Sync Body character count


getRTFSyncBodyTag

public java.lang.String getRTFSyncBodyTag()
RTF Sync body tag


getRTFSyncPrefixCount

public int getRTFSyncPrefixCount()
RTF whitespace prefix count


getRTFSyncTrailingCount

public int getRTFSyncTrailingCount()
RTF whitespace tailing count


getBodyHTML

public java.lang.String getBodyHTML()
HTML e-mail body


getInternetMessageId

public java.lang.String getInternetMessageId()
Message ID for this email as allocated per rfc2822


getInReplyToId

public java.lang.String getInReplyToId()
In-Reply-To


getReturnPath

public java.lang.String getReturnPath()
Return Path


getIconIndex

public int getIconIndex()
Icon index


getActionFlag

public int getActionFlag()
Action flag This relates to the replying / forwarding of messages. It is classified as "unknown" atm, so just provided here in case someone works out what all the various flags mean.


hasForwarded

public boolean hasForwarded()
is the action flag for this item "forward"?


hasReplied

public boolean hasReplied()
is the action flag for this item "replied"?


getActionDate

public java.util.Date getActionDate()
the date that this item had an action performed (eg. replied or forwarded)


getDisableFullFidelity

public boolean getDisableFullFidelity()
Disable full fidelity


getURLCompName

public java.lang.String getURLCompName()
URL computer name Contains the .eml file name


getAttrHidden

public boolean getAttrHidden()
Attribute hidden


getAttrSystem

public boolean getAttrSystem()
Attribute system


getAttrReadonly

public boolean getAttrReadonly()
Attribute read only


getNumberOfRecipients

public int getNumberOfRecipients()
                          throws PSTException,
                                 java.io.IOException
get the number of recipients for this message

Throws:
PSTException
java.io.IOException

getTaskStartDate

public java.util.Date getTaskStartDate()
Start date Filetime


getTaskDueDate

public java.util.Date getTaskDueDate()
Due date Filetime


getReminderSet

public boolean getReminderSet()
Is a reminder set on this object?

Returns:

getReminderDelta

public int getReminderDelta()

isFlagged

public boolean isFlagged()
"flagged" items are actually emails with a due date. This convience method just checks to see if that is true.


getColorCategories

public java.lang.String[] getColorCategories()
                                      throws PSTException
get the categories defined for this message

Throws:
PSTException

getNumberOfAttachments

public int getNumberOfAttachments()
get the number of attachments for this message

Throws:
PSTException
java.io.IOException

getAttachment

public PSTAttachment getAttachment(int attachmentNumber)
                            throws PSTException,
                                   java.io.IOException
get a specific attachment from this email.

Parameters:
attachmentNumber -
Returns:
the attachment at the defined index
Throws:
PSTException
java.io.IOException

getRecipient

public PSTRecipient getRecipient(int recipientNumber)
                          throws PSTException,
                                 java.io.IOException
get a specific recipient from this email.

Parameters:
recipientNumber -
Returns:
the recipient at the defined index
Throws:
PSTException
java.io.IOException

getRecipientsString

public java.lang.String getRecipientsString()

toString

public java.lang.String toString()
string representation of this email

Overrides:
toString in class PSTObject