Compoze Software, Inc.

com.compoze.exchange
Class AbstractServerProtocol

java.lang.Object
  extended bycom.compoze.exchange.AbstractServerProtocol
All Implemented Interfaces:
IServerProtocol, java.io.Serializable

public abstract class AbstractServerProtocol
extends java.lang.Object
implements IServerProtocol, java.io.Serializable

Provides a shell implementation of IServerProtocol that provides parameter checking on open server, server retry when the session is lost and tracing.

See Also:
Serialized Form

Field Summary
protected  java.util.Properties m_props
           
protected  java.lang.String m_sSessionID
           
 
Constructor Summary
AbstractServerProtocol()
           
 
Method Summary
 int addAttachment(java.lang.String sMessageID, java.lang.String sFolderID, int iType, java.lang.String sName, java.lang.String sSource, int iPosition, javax.activation.DataHandler dh)
          Adds an attachment.
 void closeSession()
          Closes a session.
 void copyFolders(java.lang.String[] srcFolderIDs, java.lang.String sFolderID, java.lang.String sNewName, boolean bRecursive)
          Copies folders to another folder.
 void copyMessages(java.lang.String[] messageIDs, java.lang.String sFolderID, java.lang.String sTargetFolderID)
          Copies messages.
 java.lang.String[] createFolder(java.lang.String sFolderID, java.lang.String sName, java.lang.String[] values, java.lang.String[] keys)
          Adds a folder.
 java.lang.String createMessage(java.lang.String sFolderID, java.lang.String[] messageProps, java.lang.String[] recipients, java.lang.String sRecurrencePattern, boolean bSend, boolean bSaveInSent)
          Creates a message
 void createNotification(java.lang.String sSessionID, java.lang.String sFolderID, boolean bSubFolders, int iTypes)
          Creates a notification for a session.
 java.lang.String createTaskRequest(java.lang.String sFolderID, java.lang.String sTaskID, java.lang.String[] messageProps, java.lang.String[] recipients, boolean bSend, boolean bSaveInSent)
          Creates a task request.
 void deleteAttachment(java.lang.String sMessageID, java.lang.String sFolderID, int iIndex)
          Deletes an attachment.
 void deleteFolders(java.lang.String[] folderIDs, boolean bDeletedItems)
          Deletes folders.
 void deleteMessages(java.lang.String[] messageIDs, java.lang.String sFolderID, boolean bDeletedItems, boolean bDeleteSeries)
          Deletes messages.
 java.lang.String endTrace()
          Ends tracing calls to the server and returns a string showing all calls that were made since tracing was started.
 java.lang.String[] forwardMessage(java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] propVals, java.lang.String[] propIDs, boolean bCopyRichText, boolean bSeries)
          Forwards a message.
 java.lang.String[] getAddressEntries(java.lang.String[] entryIDs, int iStartIndex, int iEndIndex, java.lang.String[] sortProps, java.lang.String[] filterProps, java.lang.String[] keys, boolean bOr, boolean bNot, java.util.TimeZone tz, java.util.Date freeBusyStart, java.util.Date freeBusyEnd, int iFreeBusyInterval)
          Gets address entries.
 int getAddressEntriesCount(java.lang.String[] filterProps, boolean bOr, boolean bNot)
          Gets address entries count.
 java.lang.String[] getAppointments(java.lang.String sFolderID, java.lang.String[] apptIDs, java.util.TimeZone tz, java.util.Date startTime, java.util.Date endTime, boolean bRecurringInstances, java.lang.String[] apptProps, boolean bHidden)
          Gets appointments.
 javax.activation.DataHandler getAttachment(java.lang.String sMessageID, java.lang.String sFolderID, int iEmbeddedIndex, int iAttachmentIndex)
          Gets an attachment.
 java.lang.String[] getAttachments(java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] attachmentProps)
          Gets attachment info.
 java.lang.String[] getEmbeddedMessage(java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] messageProps, int iIndex)
          Gets messages.
 java.lang.String getExchangeServer()
          Gets the Exchange server for the session.
 java.lang.String[] getFolderProperties(java.lang.String[] folderIDs, java.lang.String[] props)
          Gets the properties of a number of folders.
 java.lang.String[] getFolders(java.lang.String[] folderIDs, int iDepth, java.lang.String[] props, java.lang.String[] expandedFolderIds, java.lang.String[] folderTypes)
          Gets folders.
 java.lang.String getID()
          Gets a unique ID for the session.
 java.lang.String getMailbox()
          Gets the Exchange mailbox for the session.
 int getMessageCount(java.lang.String sFolderID, int iDepth, java.lang.String[] filterProps, boolean bOr, boolean bNot, boolean bHidden)
          Gets messages.
 java.lang.String[] getMessages(java.lang.String sFolderID, java.lang.String[] messageIDs, int iStartIndex, int iEndIndex, int iDepth, java.lang.String[] messageProps, java.lang.String[] sortProps, java.lang.String[] filterProps, boolean bOr, boolean bNot, boolean bHidden)
          Gets messages.
 java.lang.String[] getServerProperties(java.lang.String sSessionID, java.lang.String[] sProperties)
          Gets server properties.
 java.lang.String[] getSessionOptions(java.lang.String[] optionTypes)
          Gets session options.
 java.lang.String getUserDomain()
          Gets the user domain for the session.
 java.lang.String getUserUsername()
          Gets the user username for the session.
 void moveFolders(java.lang.String[] srcFolderIDs, java.lang.String sFolderID)
          Moves folders to another folder.
 void moveMessages(java.lang.String[] messageIDs, java.lang.String sFolderID, java.lang.String sTargetFolderID)
          Moves messages.
 java.lang.String openSession(java.util.Properties connectionProps)
          Opens a session.
protected abstract  int protocolAddAttachment(java.lang.String sSID, java.lang.String sMessageID, java.lang.String sFolderID, int iType, java.lang.String sName, java.lang.String sSource, int iPosition, javax.activation.DataHandler dh)
          Adds an attachment to a message.
protected abstract  void protocolCloseSession(java.lang.String sSID)
          Closes a session.
protected abstract  void protocolCopyFolders(java.lang.String sSID, java.lang.String[] srcFolderIDs, java.lang.String sFolderID, java.lang.String sNewName, boolean bRecursive)
          Copies folders.
protected abstract  void protocolCopyMessages(java.lang.String sSID, java.lang.String[] messageIDs, java.lang.String sFolderID, java.lang.String sTargetFolderID)
          Copies a message.
protected abstract  java.lang.String[] protocolCreateFolder(java.lang.String sSID, java.lang.String sFolderID, java.lang.String sName, java.lang.String[] values, java.lang.String[] keys)
          Adds a folder.
protected abstract  java.lang.String protocolCreateMessage(java.lang.String sSID, java.lang.String sFolderID, java.lang.String[] messageProps, java.lang.String[] recipients, java.lang.String sRecurrencePattern, boolean bSend, boolean bSaveInSent)
          Creates a message.
protected abstract  void protocolCreateNotification(java.lang.String sSessionID, java.lang.String sFolderID, boolean bSubFolders, int iTypes)
          Creates a notification for a session.
protected abstract  java.lang.String protocolCreateTaskRequest(java.lang.String sSID, java.lang.String sFolderID, java.lang.String sTaskID, java.lang.String[] messageProps, java.lang.String[] recipients, boolean bSend, boolean bSaveInSent)
          Creates a task request.
protected abstract  void protocolDeleteAttachment(java.lang.String sSID, java.lang.String sMessageID, java.lang.String sFolderID, int iIndex)
          Deletes an attachment.
protected abstract  void protocolDeleteFolders(java.lang.String sSID, boolean bDeletedItems, java.lang.String[] folderIDs)
          Deletes folders.
protected abstract  void protocolDeleteMessages(java.lang.String sSID, java.lang.String[] messageIDs, java.lang.String sFolderID, boolean bDeletedItems, boolean bDeleteSeries)
          Deletes messages.
protected abstract  java.lang.String[] protocolForwardMessage(java.lang.String sSID, java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] propVals, java.lang.String[] propIDs, boolean bCopyRichText, boolean bSeries)
          Forwards a message.
protected abstract  java.lang.String[] protocolGetAddressEntries(java.lang.String sSID, java.lang.String[] entryIDs, int iStartIndex, int iEndIndex, java.lang.String[] sortProps, java.lang.String[] filterProps, java.lang.String[] keys, boolean bOr, boolean bNot, java.util.TimeZone tz, java.util.Date freeBusyStart, java.util.Date freeBusyEnd, int iFreeBusyInterval)
          Gets address entries.
protected abstract  int protocolGetAddressEntriesCount(java.lang.String sSID, java.lang.String[] filterProps, boolean bOr, boolean bNot)
          Gets address entries count.
protected abstract  java.lang.String[] protocolGetAppointments(java.lang.String sSID, java.lang.String sFolderID, java.lang.String[] apptIDs, java.util.TimeZone tz, java.util.Date startTime, java.util.Date endTime, boolean bRecurringInstances, java.lang.String[] apptProps, boolean bHidden)
          Gets appointments.
protected abstract  javax.activation.DataHandler protocolGetAttachment(java.lang.String sSID, java.lang.String sMessageID, java.lang.String sFolderID, int iEmbeddedIndex, int iAttachmentIndex)
          Gets an attachment.
protected abstract  java.lang.String[] protocolGetAttachments(java.lang.String sSessionID, java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] attachmentKeys)
          Get attachment info.
protected abstract  java.lang.String[] protocolGetEmbeddedMessage(java.lang.String sSID, java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] messageProps, int iIndex)
          Gets messages.
protected abstract  java.lang.String[] protocolGetFolderProperties(java.lang.String sSID, java.lang.String[] folderIDs, java.lang.String[] props)
          Gets the properties of a number of folders.
protected abstract  java.lang.String[] protocolGetFolders(java.lang.String sSID, java.lang.String[] folderIDs, int iDepth, java.lang.String[] props, java.lang.String[] expandedFolderIds, java.lang.String[] folderTypes)
          Gets folders.
protected abstract  int protocolGetMessageCount(java.lang.String sSID, java.lang.String sFolderID, int iDepth, java.lang.String[] filterProps, boolean bOr, boolean bNot, boolean bHidden)
           
protected abstract  java.lang.String[] protocolGetMessages(java.lang.String sSID, java.lang.String sFolderID, java.lang.String[] messageIDs, int iStartIndex, int iEndIndex, int iDepth, java.lang.String[] messageProps, java.lang.String[] sortProps, java.lang.String[] filterProps, boolean bOr, boolean bNot, boolean bHidden)
          Gets messages.
protected abstract  java.lang.String[] protocolGetServerProperties(java.lang.String sSessionID, java.lang.String[] sProperties)
          Gets server properties with the specified session id.
protected abstract  java.lang.String[] protocolGetSessionOptions(java.lang.String sSID, java.lang.String[] optionTypes)
          Gets session options.
protected abstract  void protocolMoveFolders(java.lang.String sSID, java.lang.String[] srcFolderIDs, java.lang.String sFolderID)
          Moves folders.
protected abstract  void protocolMoveMessages(java.lang.String sSID, java.lang.String[] messageIDs, java.lang.String sFolderID, java.lang.String sTargetFolderID)
          Moves messages.
protected abstract  java.lang.String protocolOpenSession(java.util.Properties connectionProps)
          Opens a session.
protected abstract  void protocolRemoveNotification(java.lang.String sSessionID, java.lang.String sFolderID)
          Creates a notification for a given session id.
protected abstract  java.lang.String[] protocolReplyToMessage(java.lang.String sSID, java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] propVals, java.lang.String[] propIDs, boolean bReplyAll)
          Replies to a message.
protected abstract  java.lang.String[] protocolResolveRecipients(java.lang.String sSessionID, java.lang.String sMessageID, boolean bRemove, boolean bSeries)
          Resolves recipients on a message.
protected abstract  boolean protocolSetLicense(java.lang.String sCompanyName, java.lang.String sDigest)
          Sets the license.
protected abstract  void protocolSetSessionOptions(java.lang.String sSID, java.lang.String[] optionTypes)
          Sets session options.
protected abstract  void protocolUpdateFolders(java.lang.String sSID, java.lang.String[] folderIDs, java.lang.String[] values)
          Updates properties in folders.
protected abstract  void protocolUpdateMessages(java.lang.String sSID, java.lang.String[] messageIDs, java.lang.String sFolderID, java.lang.String[] propVals, java.lang.String[] recipients, int[] deleteRecipients, java.lang.String sRecurrencePattern, int iResponseType, boolean bSeries, boolean bSend, boolean bSaveInSent, boolean bDelete)
          Updates messages.
protected abstract  boolean protocolUpdateTaskFromRequest(java.lang.String sSID, java.lang.String sFolderID, java.lang.String sTaskRequestID)
          Updates a linked task from a task request.
 void removeNotification(java.lang.String sSessionID, java.lang.String sFolderID)
          Removes a notification for a session.
 java.lang.String[] replyToMessage(java.lang.String sMessageID, java.lang.String sFolderID, java.lang.String[] propVals, java.lang.String[] propIDs, boolean bReplyAll)
          Replies to a message.
 java.lang.String[] resolveRecipients(java.lang.String sMessageID, boolean bRemove, boolean bSeries)
          Resolves Recipients on a message.
 boolean setLicense(java.lang.String sCompanyName, java.lang.String sDigest)
          Sets the service license.
 void setSessionOptions(java.lang.String[] optionValues)
          Sets session options.
 void startTrace(boolean bVerbose)
          Starts tracing calls to the server.
 void updateFolders(java.lang.String[] folderIDs, java.lang.String[] values)
          Updates properties in folders.
 void updateMessages(java.lang.String[] messageIDs, java.lang.String sFolderID, java.lang.String[] propVals, java.lang.String[] recipients, int[] deleteRecipients, java.lang.String sRecurrencePattern, int iResponseType, boolean bSeries, boolean bSend, boolean bSaveInSent, boolean bDelete)
          Updates messages.
 boolean updateTaskFromRequest(java.lang.String sFolderID, java.lang.String sTaskRequestID)
          Updates a linked task from a task request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_props

protected java.util.Properties m_props

m_sSessionID

protected java.lang.String m_sSessionID
Constructor Detail

AbstractServerProtocol

public AbstractServerProtocol()
Method Detail

openSession

public java.lang.String openSession(java.util.Properties connectionProps)
                             throws ExchangeException
Opens a session. May not be called twice.

Specified by:
openSession in interface IServerProtocol
Parameters:
connectionProps - the connection properties
Throws:
ExchangeException - if a problem occurred while opening the session

setLicense

public boolean setLicense(java.lang.String sCompanyName,
                          java.lang.String sDigest)
                   throws ExchangeException
Sets the service license.

Specified by:
setLicense in interface IServerProtocol
Parameters:
sCompanyName - the company name (licensee)
sDigest - the five fives license digest
Returns:
true if the license has been set successfully, false if it is not valid (any existing license on the service would not be updated in this case)
Throws:
ExchangeException - if a problem occurred while opening the session

protocolSetLicense

protected abstract boolean protocolSetLicense(java.lang.String sCompanyName,
                                              java.lang.String sDigest)
                                       throws ExchangeException
Sets the license.

Throws:
ExchangeException

startTrace

public void startTrace(boolean bVerbose)
Starts tracing calls to the server.

Specified by:
startTrace in interface IServerProtocol
Parameters:
bVerbose - if true, trace data sent and received, otherwise just trace elapsed time and number of requests

endTrace

public java.lang.String endTrace()
Ends tracing calls to the server and returns a string showing all calls that were made since tracing was started.

Specified by:
endTrace in interface IServerProtocol
Returns:
a string representing the results of the trace

getID

public java.lang.String getID()
Gets a unique ID for the session.

Specified by:
getID in interface IServerProtocol
Returns:
the ID

getMailbox

public java.lang.String getMailbox()
Gets the Exchange mailbox for the session.

Specified by:
getMailbox in interface IServerProtocol
Returns:
the mailbox

getExchangeServer

public java.lang.String getExchangeServer()
Gets the Exchange server for the session.

Specified by:
getExchangeServer in interface IServerProtocol
Returns:
the server

getUserDomain

public java.lang.String getUserDomain()
Gets the user domain for the session.

Specified by:
getUserDomain in interface IServerProtocol
Returns:
the user domain

getUserUsername

public java.lang.String getUserUsername()
Gets the user username for the session.

Specified by:
getUserUsername in interface IServerProtocol
Returns:
the user username

protocolOpenSession

protected abstract java.lang.String protocolOpenSession(java.util.Properties connectionProps)
                                                 throws ExchangeException
Opens a session.

Throws:
ExchangeException

closeSession

public void closeSession()
                  throws ExchangeException
Closes a session. Ensures that the underlying protocol is not called twice to close the session.

Specified by:
closeSession in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while closing the session

protocolCloseSession

protected abstract void protocolCloseSession(java.lang.String sSID)
                                      throws ExchangeException
Closes a session.

Throws:
ExchangeException

getFolders

public java.lang.String[] getFolders(java.lang.String[] folderIDs,
                                     int iDepth,
                                     java.lang.String[] props,
                                     java.lang.String[] expandedFolderIds,
                                     java.lang.String[] folderTypes)
                              throws ExchangeException
Gets folders.

Specified by:
getFolders in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while connecting to or interacting with the Compoze Microsoft Exchange Service

protocolGetFolders

protected abstract java.lang.String[] protocolGetFolders(java.lang.String sSID,
                                                         java.lang.String[] folderIDs,
                                                         int iDepth,
                                                         java.lang.String[] props,
                                                         java.lang.String[] expandedFolderIds,
                                                         java.lang.String[] folderTypes)
                                                  throws ExchangeException
Gets folders.

Throws:
ExchangeException

createFolder

public java.lang.String[] createFolder(java.lang.String sFolderID,
                                       java.lang.String sName,
                                       java.lang.String[] values,
                                       java.lang.String[] keys)
                                throws ExchangeException
Adds a folder.

Specified by:
createFolder in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while connecting to or interacting with the Compoze Microsoft Exchange Service

protocolCreateFolder

protected abstract java.lang.String[] protocolCreateFolder(java.lang.String sSID,
                                                           java.lang.String sFolderID,
                                                           java.lang.String sName,
                                                           java.lang.String[] values,
                                                           java.lang.String[] keys)
                                                    throws ExchangeException
Adds a folder.

Throws:
ExchangeException

deleteFolders

public void deleteFolders(java.lang.String[] folderIDs,
                          boolean bDeletedItems)
                   throws ExchangeException
Deletes folders.

Specified by:
deleteFolders in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while connecting to or interacting with the Compoze Microsoft Exchange Service

protocolDeleteFolders

protected abstract void protocolDeleteFolders(java.lang.String sSID,
                                              boolean bDeletedItems,
                                              java.lang.String[] folderIDs)
                                       throws ExchangeException
Deletes folders.

Throws:
ExchangeException

copyFolders

public void copyFolders(java.lang.String[] srcFolderIDs,
                        java.lang.String sFolderID,
                        java.lang.String sNewName,
                        boolean bRecursive)
                 throws ExchangeException
Copies folders to another folder.

Specified by:
copyFolders in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while connecting to or interacting with the Compoze Microsoft Exchange Service

protocolCopyFolders

protected abstract void protocolCopyFolders(java.lang.String sSID,
                                            java.lang.String[] srcFolderIDs,
                                            java.lang.String sFolderID,
                                            java.lang.String sNewName,
                                            boolean bRecursive)
                                     throws ExchangeException
Copies folders.

Throws:
ExchangeException

moveFolders

public void moveFolders(java.lang.String[] srcFolderIDs,
                        java.lang.String sFolderID)
                 throws ExchangeException
Moves folders to another folder.

Specified by:
moveFolders in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while connecting to or interacting with the Compoze Microsoft Exchange Service

protocolMoveFolders

protected abstract void protocolMoveFolders(java.lang.String sSID,
                                            java.lang.String[] srcFolderIDs,
                                            java.lang.String sFolderID)
                                     throws ExchangeException
Moves folders.

Throws:
ExchangeException

updateFolders

public void updateFolders(java.lang.String[] folderIDs,
                          java.lang.String[] values)
                   throws ExchangeException
Updates properties in folders.

Specified by:
updateFolders in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while connecting to or interacting with the Compoze Microsoft Exchange Service

protocolUpdateFolders

protected abstract void protocolUpdateFolders(java.lang.String sSID,
                                              java.lang.String[] folderIDs,
                                              java.lang.String[] values)
                                       throws ExchangeException
Updates properties in folders.

Throws:
ExchangeException

getFolderProperties

public java.lang.String[] getFolderProperties(java.lang.String[] folderIDs,
                                              java.lang.String[] props)
                                       throws ExchangeException
Gets the properties of a number of folders.

Specified by:
getFolderProperties in interface IServerProtocol
Throws:
ExchangeException - if a problem occurred while connecting to or interacting with the Compoze Microsoft Exchange Service

protocolGetFolderProperties

protected abstract java.lang.String[] protocolGetFolderProperties(java.lang.String sSID,
                                                                  java.lang.String[] folderIDs,
                                                                  java.lang.String[] props)
                                                           throws ExchangeException
Gets the properties of a number of folders.

Throws:
ExchangeException

getAddressEntries

public java.lang.String[] getAddressEntries(java.lang.String[] entryIDs,
                                            int iStartIndex,
                                            int iEndIndex,
                                            java.lang.String[] sortProps,
                                            java.lang.String[] filterProps,
                                            java.lang.String[] keys,
                                            boolean bOr,
                                            boolean bNot,
                                            java.util.TimeZone tz,
                                            java.util.Date freeBusyStart,
                                            java.util.Date freeBusyEnd,
                                            int iFreeBusyInterval)
                                     throws ExchangeException
Gets address entries.

Specified by:
getAddressEntries in interface IServerProtocol
Throws:
ExchangeException

protocolGetAddressEntries

protected abstract java.lang.String[] protocolGetAddressEntries(java.lang.String sSID,
                                                                java.lang.String[] entryIDs,
                                                                int iStartIndex,
                                                                int iEndIndex,
                                                                java.lang.String[] sortProps,
                                                                java.lang.String[] filterProps,
                                                                java.lang.String[] keys,
                                                                boolean bOr,
                                                                boolean bNot,
                                                                java.util.TimeZone tz,
                                                                java.util.Date freeBusyStart,
                                                                java.util.Date freeBusyEnd,
                                                                int iFreeBusyInterval)
                                                         throws ExchangeException
Gets address entries.

Throws:
ExchangeException

getAddressEntriesCount

public int getAddressEntriesCount(java.lang.String[] filterProps,
                                  boolean bOr,
                                  boolean bNot)
                           throws ExchangeException
Gets address entries count.

Specified by:
getAddressEntriesCount in interface IServerProtocol
Throws:
ExchangeException

protocolGetAddressEntriesCount

protected abstract int protocolGetAddressEntriesCount(java.lang.String sSID,
                                                      java.lang.String[] filterProps,
                                                      boolean bOr,
                                                      boolean bNot)
                                               throws ExchangeException
Gets address entries count.

Throws:
ExchangeException

getMessages

public java.lang.String[] getMessages(java.lang.String sFolderID,
                                      java.lang.String[] messageIDs,
                                      int iStartIndex,
                                      int iEndIndex,
                                      int iDepth,
                                      java.lang.String[] messageProps,
                                      java.lang.String[] sortProps,
                                      java.lang.String[] filterProps,
                                      boolean bOr,
                                      boolean bNot,
                                      boolean bHidden)
                               throws ExchangeException
Gets messages.

Specified by:
getMessages in interface IServerProtocol
Throws:
ExchangeException

getAppointments

public java.lang.String[] getAppointments(java.lang.String sFolderID,
                                          java.lang.String[] apptIDs,
                                          java.util.TimeZone tz,
                                          java.util.Date startTime,
                                          java.util.Date endTime,
                                          boolean bRecurringInstances,
                                          java.lang.String[] apptProps,
                                          boolean bHidden)
                                   throws ExchangeException
Gets appointments.

Specified by:
getAppointments in interface IServerProtocol
Throws:
ExchangeException

protocolGetAppointments

protected abstract java.lang.String[] protocolGetAppointments(java.lang.String sSID,
                                                              java.lang.String sFolderID,
                                                              java.lang.String[] apptIDs,
                                                              java.util.TimeZone tz,
                                                              java.util.Date startTime,
                                                              java.util.Date endTime,
                                                              boolean bRecurringInstances,
                                                              java.lang.String[] apptProps,
                                                              boolean bHidden)
                                                       throws ExchangeException
Gets appointments.

Throws:
ExchangeException

protocolGetMessages

protected abstract java.lang.String[] protocolGetMessages(java.lang.String sSID,
                                                          java.lang.String sFolderID,
                                                          java.lang.String[] messageIDs,
                                                          int iStartIndex,
                                                          int iEndIndex,
                                                          int iDepth,
                                                          java.lang.String[] messageProps,
                                                          java.lang.String[] sortProps,
                                                          java.lang.String[] filterProps,
                                                          boolean bOr,
                                                          boolean bNot,
                                                          boolean bHidden)
                                                   throws ExchangeException
Gets messages.

Throws:
ExchangeException

getMessageCount

public int getMessageCount(java.lang.String sFolderID,
                           int iDepth,
                           java.lang.String[] filterProps,
                           boolean bOr,
                           boolean bNot,
                           boolean bHidden)
                    throws ExchangeException
Gets messages.

Specified by:
getMessageCount in interface IServerProtocol
Throws:
ExchangeException

protocolGetMessageCount

protected abstract int protocolGetMessageCount(java.lang.String sSID,
                                               java.lang.String sFolderID,
                                               int iDepth,
                                               java.lang.String[] filterProps,
                                               boolean bOr,
                                               boolean bNot,
                                               boolean bHidden)
                                        throws ExchangeException
Throws:
ExchangeException

createMessage

public java.lang.String createMessage(java.lang.String sFolderID,
                                      java.lang.String[] messageProps,
                                      java.lang.String[] recipients,
                                      java.lang.String sRecurrencePattern,
                                      boolean bSend,
                                      boolean bSaveInSent)
                               throws ExchangeException
Creates a message

Specified by:
createMessage in interface IServerProtocol
Throws:
ExchangeException

createTaskRequest

public java.lang.String createTaskRequest(java.lang.String sFolderID,
                                          java.lang.String sTaskID,
                                          java.lang.String[] messageProps,
                                          java.lang.String[] recipients,
                                          boolean bSend,
                                          boolean bSaveInSent)
                                   throws ExchangeException
Creates a task request.

Specified by:
createTaskRequest in interface IServerProtocol
Throws:
ExchangeException

updateTaskFromRequest

public boolean updateTaskFromRequest(java.lang.String sFolderID,
                                     java.lang.String sTaskRequestID)
                              throws ExchangeException
Updates a linked task from a task request.

Specified by:
updateTaskFromRequest in interface IServerProtocol
Throws:
ExchangeException

protocolCreateMessage

protected abstract java.lang.String protocolCreateMessage(java.lang.String sSID,
                                                          java.lang.String sFolderID,
                                                          java.lang.String[] messageProps,
                                                          java.lang.String[] recipients,
                                                          java.lang.String sRecurrencePattern,
                                                          boolean bSend,
                                                          boolean bSaveInSent)
                                                   throws ExchangeException
Creates a message.

Throws:
ExchangeException

protocolCreateTaskRequest

protected abstract java.lang.String protocolCreateTaskRequest(java.lang.String sSID,
                                                              java.lang.String sFolderID,
                                                              java.lang.String sTaskID,
                                                              java.lang.String[] messageProps,
                                                              java.lang.String[] recipients,
                                                              boolean bSend,
                                                              boolean bSaveInSent)
                                                       throws ExchangeException
Creates a task request.

Throws:
ExchangeException

protocolUpdateTaskFromRequest

protected abstract boolean protocolUpdateTaskFromRequest(java.lang.String sSID,
                                                         java.lang.String sFolderID,
                                                         java.lang.String sTaskRequestID)
                                                  throws ExchangeException
Updates a linked task from a task request.

Throws:
ExchangeException

updateMessages

public void updateMessages(java.lang.String[] messageIDs,
                           java.lang.String sFolderID,
                           java.lang.String[] propVals,
                           java.lang.String[] recipients,
                           int[] deleteRecipients,
                           java.lang.String sRecurrencePattern,
                           int iResponseType,
                           boolean bSeries,
                           boolean bSend,
                           boolean bSaveInSent,
                           boolean bDelete)
                    throws ExchangeException
Updates messages.

Specified by:
updateMessages in interface IServerProtocol
Throws:
ExchangeException

protocolUpdateMessages

protected abstract void protocolUpdateMessages(java.lang.String sSID,
                                               java.lang.String[] messageIDs,
                                               java.lang.String sFolderID,
                                               java.lang.String[] propVals,
                                               java.lang.String[] recipients,
                                               int[] deleteRecipients,
                                               java.lang.String sRecurrencePattern,
                                               int iResponseType,
                                               boolean bSeries,
                                               boolean bSend,
                                               boolean bSaveInSent,
                                               boolean bDelete)
                                        throws ExchangeException
Updates messages.

Throws:
ExchangeException

deleteMessages

public void deleteMessages(java.lang.String[] messageIDs,
                           java.lang.String sFolderID,
                           boolean bDeletedItems,
                           boolean bDeleteSeries)
                    throws ExchangeException
Deletes messages.

Specified by:
deleteMessages in interface IServerProtocol
Throws:
ExchangeException

protocolDeleteMessages

protected abstract void protocolDeleteMessages(java.lang.String sSID,
                                               java.lang.String[] messageIDs,
                                               java.lang.String sFolderID,
                                               boolean bDeletedItems,
                                               boolean bDeleteSeries)
                                        throws ExchangeException
Deletes messages.

Throws:
ExchangeException

forwardMessage

public java.lang.String[] forwardMessage(java.lang.String sMessageID,
                                         java.lang.String sFolderID,
                                         java.lang.String[] propVals,
                                         java.lang.String[] propIDs,
                                         boolean bCopyRichText,
                                         boolean bSeries)
                                  throws ExchangeException
Forwards a message.

Specified by:
forwardMessage in interface IServerProtocol
Throws:
ExchangeException

protocolForwardMessage

protected abstract java.lang.String[] protocolForwardMessage(java.lang.String sSID,
                                                             java.lang.String sMessageID,
                                                             java.lang.String sFolderID,
                                                             java.lang.String[] propVals,
                                                             java.lang.String[] propIDs,
                                                             boolean bCopyRichText,
                                                             boolean bSeries)
                                                      throws ExchangeException
Forwards a message.

Throws:
ExchangeException

replyToMessage

public java.lang.String[] replyToMessage(java.lang.String sMessageID,
                                         java.lang.String sFolderID,
                                         java.lang.String[] propVals,
                                         java.lang.String[] propIDs,
                                         boolean bReplyAll)
                                  throws ExchangeException
Replies to a message.

Specified by:
replyToMessage in interface IServerProtocol
Throws:
ExchangeException

protocolReplyToMessage

protected abstract java.lang.String[] protocolReplyToMessage(java.lang.String sSID,
                                                             java.lang.String sMessageID,
                                                             java.lang.String sFolderID,
                                                             java.lang.String[] propVals,
                                                             java.lang.String[] propIDs,
                                                             boolean bReplyAll)
                                                      throws ExchangeException
Replies to a message.

Throws:
ExchangeException

copyMessages

public void copyMessages(java.lang.String[] messageIDs,
                         java.lang.String sFolderID,
                         java.lang.String sTargetFolderID)
                  throws ExchangeException
Copies messages.

Specified by:
copyMessages in interface IServerProtocol
Throws:
ExchangeException

protocolCopyMessages

protected abstract void protocolCopyMessages(java.lang.String sSID,
                                             java.lang.String[] messageIDs,
                                             java.lang.String sFolderID,
                                             java.lang.String sTargetFolderID)
                                      throws ExchangeException
Copies a message.

Throws:
ExchangeException

moveMessages

public void moveMessages(java.lang.String[] messageIDs,
                         java.lang.String sFolderID,
                         java.lang.String sTargetFolderID)
                  throws ExchangeException
Moves messages.

Specified by:
moveMessages in interface IServerProtocol
Throws:
ExchangeException

protocolMoveMessages

protected abstract void protocolMoveMessages(java.lang.String sSID,
                                             java.lang.String[] messageIDs,
                                             java.lang.String sFolderID,
                                             java.lang.String sTargetFolderID)
                                      throws ExchangeException
Moves messages.

Throws:
ExchangeException

getEmbeddedMessage

public java.lang.String[] getEmbeddedMessage(java.lang.String sMessageID,
                                             java.lang.String sFolderID,
                                             java.lang.String[] messageProps,
                                             int iIndex)
                                      throws ExchangeException
Gets messages.

Specified by:
getEmbeddedMessage in interface IServerProtocol
Throws:
ExchangeException

protocolGetEmbeddedMessage

protected abstract java.lang.String[] protocolGetEmbeddedMessage(java.lang.String sSID,
                                                                 java.lang.String sMessageID,
                                                                 java.lang.String sFolderID,
                                                                 java.lang.String[] messageProps,
                                                                 int iIndex)
                                                          throws ExchangeException
Gets messages.

Throws:
ExchangeException

getAttachments

public java.lang.String[] getAttachments(java.lang.String sMessageID,
                                         java.lang.String sFolderID,
                                         java.lang.String[] attachmentProps)
                                  throws ExchangeException
Gets attachment info.

Specified by:
getAttachments in interface IServerProtocol
Throws:
ExchangeException

protocolGetAttachments

protected abstract java.lang.String[] protocolGetAttachments(java.lang.String sSessionID,
                                                             java.lang.String sMessageID,
                                                             java.lang.String sFolderID,
                                                             java.lang.String[] attachmentKeys)
                                                      throws ExchangeException
Get attachment info.

Throws:
ExchangeException

getAttachment

public javax.activation.DataHandler getAttachment(java.lang.String sMessageID,
                                                  java.lang.String sFolderID,
                                                  int iEmbeddedIndex,
                                                  int iAttachmentIndex)
                                           throws ExchangeException
Gets an attachment.

Specified by:
getAttachment in interface IServerProtocol
Throws:
ExchangeException

protocolGetAttachment

protected abstract javax.activation.DataHandler protocolGetAttachment(java.lang.String sSID,
                                                                      java.lang.String sMessageID,
                                                                      java.lang.String sFolderID,
                                                                      int iEmbeddedIndex,
                                                                      int iAttachmentIndex)
                                                               throws ExchangeException
Gets an attachment.

Throws:
ExchangeException

deleteAttachment

public void deleteAttachment(java.lang.String sMessageID,
                             java.lang.String sFolderID,
                             int iIndex)
                      throws ExchangeException
Deletes an attachment.

Specified by:
deleteAttachment in interface IServerProtocol
Throws:
ExchangeException

getSessionOptions

public java.lang.String[] getSessionOptions(java.lang.String[] optionTypes)
                                     throws ExchangeException
Gets session options.

Specified by:
getSessionOptions in interface IServerProtocol
Throws:
ExchangeException

protocolGetSessionOptions

protected abstract java.lang.String[] protocolGetSessionOptions(java.lang.String sSID,
                                                                java.lang.String[] optionTypes)
                                                         throws ExchangeException
Gets session options.

Throws:
ExchangeException

setSessionOptions

public void setSessionOptions(java.lang.String[] optionValues)
                       throws ExchangeException
Sets session options.

Specified by:
setSessionOptions in interface IServerProtocol
Throws:
ExchangeException

protocolSetSessionOptions

protected abstract void protocolSetSessionOptions(java.lang.String sSID,
                                                  java.lang.String[] optionTypes)
                                           throws ExchangeException
Sets session options.

Throws:
ExchangeException

protocolDeleteAttachment

protected abstract void protocolDeleteAttachment(java.lang.String sSID,
                                                 java.lang.String sMessageID,
                                                 java.lang.String sFolderID,
                                                 int iIndex)
                                          throws ExchangeException
Deletes an attachment.

Throws:
ExchangeException

addAttachment

public int addAttachment(java.lang.String sMessageID,
                         java.lang.String sFolderID,
                         int iType,
                         java.lang.String sName,
                         java.lang.String sSource,
                         int iPosition,
                         javax.activation.DataHandler dh)
                  throws ExchangeException
Adds an attachment.

Specified by:
addAttachment in interface IServerProtocol
Throws:
ExchangeException

protocolAddAttachment

protected abstract int protocolAddAttachment(java.lang.String sSID,
                                             java.lang.String sMessageID,
                                             java.lang.String sFolderID,
                                             int iType,
                                             java.lang.String sName,
                                             java.lang.String sSource,
                                             int iPosition,
                                             javax.activation.DataHandler dh)
                                      throws ExchangeException
Adds an attachment to a message.

Throws:
ExchangeException

createNotification

public void createNotification(java.lang.String sSessionID,
                               java.lang.String sFolderID,
                               boolean bSubFolders,
                               int iTypes)
                        throws ExchangeException
Creates a notification for a session.

Specified by:
createNotification in interface IServerProtocol
Parameters:
sSessionID - the session id
Throws:
ExchangeException

protocolCreateNotification

protected abstract void protocolCreateNotification(java.lang.String sSessionID,
                                                   java.lang.String sFolderID,
                                                   boolean bSubFolders,
                                                   int iTypes)
                                            throws ExchangeException
Creates a notification for a session.

Throws:
ExchangeException

removeNotification

public void removeNotification(java.lang.String sSessionID,
                               java.lang.String sFolderID)
                        throws ExchangeException
Removes a notification for a session.

Specified by:
removeNotification in interface IServerProtocol
Parameters:
sSessionID - the session id
Throws:
ExchangeException

getServerProperties

public java.lang.String[] getServerProperties(java.lang.String sSessionID,
                                              java.lang.String[] sProperties)
                                       throws ExchangeException
Gets server properties.

Specified by:
getServerProperties in interface IServerProtocol
Throws:
ExchangeException

resolveRecipients

public java.lang.String[] resolveRecipients(java.lang.String sMessageID,
                                            boolean bRemove,
                                            boolean bSeries)
                                     throws ExchangeException
Resolves Recipients on a message.

Specified by:
resolveRecipients in interface IServerProtocol
Throws:
ExchangeException

protocolRemoveNotification

protected abstract void protocolRemoveNotification(java.lang.String sSessionID,
                                                   java.lang.String sFolderID)
                                            throws ExchangeException
Creates a notification for a given session id.

Throws:
ExchangeException

protocolGetServerProperties

protected abstract java.lang.String[] protocolGetServerProperties(java.lang.String sSessionID,
                                                                  java.lang.String[] sProperties)
                                                           throws ExchangeException
Gets server properties with the specified session id.

Throws:
ExchangeException

protocolResolveRecipients

protected abstract java.lang.String[] protocolResolveRecipients(java.lang.String sSessionID,
                                                                java.lang.String sMessageID,
                                                                boolean bRemove,
                                                                boolean bSeries)
                                                         throws ExchangeException
Resolves recipients on a message.

Throws:
ExchangeException

Compoze Software, Inc.

Copyright ©1999-2003 Compoze Software, Inc. All rights reserved.