public interface IssueMessagingSession extends OsidSession
This session creates comments on issues and sends messages to
customers. A comment is a direct log entry that may not be visible to the
customer. A message is sent by some means to the customer and recorded in
the log. In both cases, LogEntryForms are used to specify
the content of the message or comment with an IssueAction of
COMMENTED or MESSAGE_SENT .
| Modifier and Type | Method and Description |
|---|---|
boolean |
canComment()
Tests if this user can comment on Issues.
|
boolean |
canCreateLogEntryCommentWithRecordTypes(Type[] logEntryRecordTypes)
Tests if this user can create a single
LogEntry using
the desired record types. |
boolean |
canCreateLogEntryMessageWithRecordTypes(Type[] logEntryRecordTypes)
Tests if this user can create a single
LogEntry using
the desired record types. |
boolean |
canDeleteComment(Id logEntryId)
Tests if this user can delete a specified comment.
|
boolean |
canDeleteComments()
Tests if this user can delete comments.
|
boolean |
canSendMessages()
Tests if this user can send customer messages.
|
boolean |
canUpdateComment(Id logEntryId)
Tests if this user can update a specified
LogEntry. |
boolean |
canUpdateComments()
Tests if this user can update comments.
|
LogEntry |
comment(Id issueId,
LogEntryForm logEntryForm)
Comments on an issue.
|
void |
deleteComment(Id logEntryId)
Deletes a comment.
|
void |
deleteComments()
Deletes all comments in this
FrontOffice. |
void |
deleteCommentsByDate(DateTime from,
DateTime to)
Deletes all comments within the given date range inclusive in this
FrontOffice. |
void |
deleteCommentsByDateForIssue(Id issueId,
DateTime from,
DateTime to)
Deletes all comments within the given date range inclusive in this
Issue. |
void |
deleteCommentsByDateForQueue(Id queueId,
DateTime from,
DateTime to)
Deletes all comments within the given date range inclusive in this
Queue. |
void |
deleteCommentsForIssue(Id issueId)
Deletes all comments in an
Issue. |
void |
deleteCommentsForQueue(Id queueId)
Deletes all comments in a
Queue. |
FrontOffice |
getFrontOffice()
Gets the
FrontOffice associated with this session. |
Id |
getFrontOfficeId()
Gets the
FrontOffice Id associated with
this session. |
LogEntryForm |
getLogEntryFormForCommenting(Type[] logEntryRecordTypes)
Gets the log entry form for creating commenting on issues.
|
LogEntryForm |
getLogEntryFormForCommentUpdate(Id Id)
Gets the log entry form for updating an existing comment.
|
LogEntryForm |
getLogEntryFormForMessaging(Type[] logEntryRecordTypes)
Gets the log entry form for creating messages to customers.
|
LogEntry |
sendMessage(Id issueId,
LogEntryForm logEntryForm)
Send a customer a message and records it in the issue log.
|
void |
updateComment(Id logEntryId,
LogEntryForm logEntryForm)
Updates an existing log entry.
|
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionscloseId getFrontOfficeId()
FrontOffice Id associated with
this session. FrontOffice Id associated with this sessionmandatory - This method must be implemented. FrontOffice getFrontOffice() throws OperationFailedException, PermissionDeniedException
FrontOffice associated with this session.OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. boolean canComment()
LogEntry will result in a
PERMISSION_DENIED. This is intended as a hint to an
application that may opt not to offer comment operations to an
unauthorized user. false if commenting is not authorized,
true otherwisemandatory - This method must be implemented. boolean canCreateLogEntryCommentWithRecordTypes(Type[] logEntryRecordTypes)
LogEntry using
the desired record types. While
TrackingManager.getLogEntryRecordTypes() can be used to
examine which records are supported, this method tests which record(s)
are required for creating a specific LogEntry.
Providing an empty array tests if a LogEntry can be
created with no records.logEntryRecordTypes - array of log entry record types true if LogEntry creation using
the specified record Types is supported,
false otherwiseNullArgumentException - logEntryRecordTypes
is null mandatory - This method must be implemented. LogEntryForm getLogEntryFormForCommenting(Type[] logEntryRecordTypes) throws OperationFailedException, PermissionDeniedException
logEntryRecordTypes - array of log entry record typesNullArgumentException - logEntryRecordTypes
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to get form for requested
record typesmandatory - This method must be implemented. LogEntry comment(Id issueId, LogEntryForm logEntryForm) throws NotFoundException, OperationFailedException, PermissionDeniedException
issueId - the Id of the issuelogEntryForm - the form for this LogEntry LogEntry InvalidArgumentException - one or more of the form
elements is invalidNotFoundException - issueId is not foundNullArgumentException - issueId or
logEntryForm is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - logEntryForm is
not of this servicemandatory - This method must be implemented. boolean canUpdateComments()
PERMISSION_DENIED. This is intended as a hint to an
application that may opt not to offer update operations to an
unauthorized user. false if comment modification is not
authorized, true otherwisemandatory - This method must be implemented. boolean canUpdateComment(Id logEntryId)
LogEntry. A
return of true does not guarantee successful authorization. A return
of false indicates that it is known updating the LogEntry
will result in a PERMISSION_DENIED. This is
intended as a hint to an application that may opt not to offer an
update operation to an unauthorized user for this log entry.logEntryId - the Id of the comment entry false if log entry modification is not
authorized, true otherwiseNullArgumentException - logEntryId is
null mandatory - This method must be implemented. If - the logEntryId is not found, then it is
acceptable to return false to indicate the lack of an update
available. LogEntryForm getLogEntryFormForCommentUpdate(Id Id) throws NotFoundException, OperationFailedException
Id - the Id of the LogEntry NotFoundException - logEntryId is not
foundNullArgumentException - logEntryId is
null OperationFailedException - unable to complete requestmandatory - This method must be implemented. void updateComment(Id logEntryId, LogEntryForm logEntryForm) throws NotFoundException, OperationFailedException, PermissionDeniedException
logEntryId - the Id of the LogEntry
logEntryForm - the form containing the elements to be updatedInvalidArgumentException - the form contains an invalid
valueNotFoundException - logEntryId is not
found or not a commentNullArgumentException - logEntryId or
logEntryForm is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - logEntryForm is
not supportedmandatory - This method must be implemented. boolean canDeleteComments()
PERMISSION_DENIED. This is intended as a hint to an
application that may opt not to offer delete operations to an
unauthorized user. false if comment deletion is not authorized,
true otherwisemandatory - This method must be implemented. boolean canDeleteComment(Id logEntryId)
PERMISSION_DENIED. This is intended as a hint to an
application that may opt not to offer an delete operation to an
unauthorized user for this log entry.logEntryId - the Id of the comment false if deletion of this LogEntry
is not authorized, true otherwiseNullArgumentException - logEntryId is
null mandatory - This method must be implemented. If - the logEntryId is not found, then it is
acceptable to return false to indicate the lack of an delete
available. void deleteComment(Id logEntryId) throws NotFoundException, OperationFailedException, PermissionDeniedException
logEntryId - the Id of the comment to removeNotFoundException - logEntryId not foundNullArgumentException - logEntryId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. void deleteComments()
throws OperationFailedException,
PermissionDeniedException
FrontOffice. OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. void deleteCommentsByDate(DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
FrontOffice. from - start dateto - end dateInvalidArgumentException - from is
greater than to NullArgumentException - from or
to is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. void deleteCommentsForQueue(Id queueId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Queue. queueId - the Id of a Queue NotFoundException - queueId not foundNullArgumentException - queueId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. void deleteCommentsByDateForQueue(Id queueId, DateTime from, DateTime to) throws NotFoundException, OperationFailedException, PermissionDeniedException
Queue. queueId - the Id of a Queue from - start dateto - end dateInvalidArgumentException - from is
greater than to NotFoundException - queueId not foundNullArgumentException - queueId, from or
to is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. void deleteCommentsForIssue(Id issueId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Issue. issueId - the Id of an Issue NotFoundException - issueId not foundNullArgumentException - issueId is
null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. void deleteCommentsByDateForIssue(Id issueId, DateTime from, DateTime to) throws NotFoundException, OperationFailedException, PermissionDeniedException
Issue. issueId - the Id of an Issue from - start dateto - end dateInvalidArgumentException - from is
greater than to NotFoundException - issueId not foundNullArgumentException - issueId, from or
to is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failuremandatory - This method must be implemented. boolean canSendMessages()
LogEntry will result in a
PERMISSION_DENIED. This is intended as a hint to an
application that may opt not to offer comment operations to an
unauthorized user. false if messaging is not authorized,
true otherwisemandatory - This method must be implemented. boolean canCreateLogEntryMessageWithRecordTypes(Type[] logEntryRecordTypes)
LogEntry using
the desired record types. While
TrackingManager.getLogEntryRecordTypes() can be used to
examine which records are supported, this method tests which record(s)
are required for creating a specific LogEntry.
Providing an empty array tests if a LogEntry can be
created with no records.logEntryRecordTypes - array of log entry record types true if LogEntry creation using
the specified record Types is supported,
false otherwiseNullArgumentException - logEntryRecordTypes
is null mandatory - This method must be implemented. LogEntryForm getLogEntryFormForMessaging(Type[] logEntryRecordTypes) throws OperationFailedException, PermissionDeniedException
logEntryRecordTypes - array of log entry record typesNullArgumentException - logEntryRecordTypes
is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - unable to get form for requested
record typesmandatory - This method must be implemented. LogEntry sendMessage(Id issueId, LogEntryForm logEntryForm) throws NotFoundException, OperationFailedException, PermissionDeniedException
issueId - the Id of the issuelogEntryForm - the form for this LogEntry LogEntry InvalidArgumentException - one or more of the form
elements is invalidNotFoundException - issueId is not foundNullArgumentException - issueId or
logEntryForm is null OperationFailedException - unable to complete requestPermissionDeniedException - authorization failureUnsupportedException - logEntryForm is
not of this servicemandatory - This method must be implemented.