Interface WorkOfficeAssignmentSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods to re-assign Works to
Office mappings. A Work may appear in multiple Offices
and removing the last reference to a Work is the equivalent of
deleting it. Each Office may have its own authorizations governing
who is allowed to operate on it.
Adding a reference of a Work to another Office is not
a copy operation (eg: does not change its Id ).
-
Method Summary
Modifier and TypeMethodDescriptionvoidassignWorkToOffice(Id workId, Id officeId) Adds an existingWorkto anOffice.booleanTests if this user can alter work/office mappings.booleancanAssignWorksToOffice(Id officeId) Tests if this user can alter work/office mappings.getAssignableOfficeIds(Id officeId) Gets a list of offices including and under the given office node in which any work can be assigned.getAssignableOfficeIdsForWork(Id officeId, Id workId) Gets a list of offices including and under the given office node in which a specific work can be assigned.voidreassignWorkToOffice(Id workId, Id fromOfficeId, Id toOfficeId) Moves aWorkfrom oneOfficeto another.voidunassignWorkFromOffice(Id workId, Id officeId) Removes aWorkfrom anOffice.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
canAssignWorks
boolean canAssignWorks()Tests if this user can alter work/office mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.- Returns:
falseif mapping is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
canAssignWorksToOffice
Tests if this user can alter work/office mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.- Parameters:
officeId- theIdof theOffice- Returns:
falseif workflow is not authorized,trueotherwise- Throws:
NullArgumentException-officeIdisnull- Compliance:
mandatory- This method must be implemented.
-
getAssignableOfficeIds
Gets a list of offices including and under the given office node in which any work can be assigned.- Parameters:
officeId- theIdof theOffice- Returns:
- list of assignable office
Ids - Throws:
NullArgumentException-officeIdisnullOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
getAssignableOfficeIdsForWork
Gets a list of offices including and under the given office node in which a specific work can be assigned.- Parameters:
officeId- theIdof theOfficeworkId- theIdof theWork- Returns:
- list of assignable office
Ids - Throws:
NullArgumentException-officeIdorworkIdisnullOperationFailedException- unable to complete request- Compliance:
mandatory- This method must be implemented.
-
assignWorkToOffice
void assignWorkToOffice(Id workId, Id officeId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds an existingWorkto anOffice.- Parameters:
workId- theIdof theWorkofficeId- theIdof theOffice- Throws:
AlreadyExistsException-workIdis already assigned toofficeIdNotFoundException-workIdorofficeIdnot foundNullArgumentException-workIdorofficeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
unassignWorkFromOffice
void unassignWorkFromOffice(Id workId, Id officeId) throws NotFoundException, OperationFailedException, PermissionDeniedException Removes aWorkfrom anOffice.- Parameters:
workId- theIdof theWorkofficeId- theIdof theOffice- Throws:
NotFoundException-workIdorofficeIdnot found orworkIdnot assigned toofficeIdNullArgumentException-workIdorofficeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
reassignWorkToOffice
void reassignWorkToOffice(Id workId, Id fromOfficeId, Id toOfficeId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Moves aWorkfrom oneOfficeto another. Mappings to otherOfficesare unaffected.- Parameters:
workId- theIdof theWorkfromOfficeId- theIdof the currentOfficetoOfficeId- theIdof the destinationOffice- Throws:
AlreadyExistsException-workId, already assigned totoOfficeIdNotFoundException-workId fromOfficeId, ortoOfficeIdnot found orworkIdnot mapped tofromOfficeIdNullArgumentException-workId, fromOfficeId, ortoOfficeIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-