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, supportsTransactions
close
Id 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.