Interface TodoAdminSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
- All Known Subinterfaces:
TodoBatchAdminSession
This session creates, updates, and deletes Todos . The data for
create and update is provided by the consumer via the form object.
OsidForms are requested for each create or update and may not be reused.
Create and update operations differ in their usage. To create an
Todo , an TodoForm is requested using
getTodoFormForCreate() specifying the desired record Types or
none if no record Types are needed. The returned TodoForm
will indicate that it is to be used with a create operation and can be
used to examine metdata or validate data prior to creation. Once the
TodoForm is submiited to a create operation, it cannot be reused
with another create operation unless the first operation was unsuccessful.
Each TodoForm corresponds to an attempted transaction.
For updates, TodoForms are requested to the Todo
Id that is to be updated using getTodoFormForUpdate() .
Similarly, the TodoForm has metadata about the data that can be
updated and it can perform validation before submitting the update. The
TodoForm can only be used once for a successful update and cannot
be reused.
The delete operations delete Todos . To unmap an Todo
from the current Checklist , the
TodoChecklistAssignmentSession should be used. These delete operations
attempt to remove the Bid itself thus removing it from all known
Checklist catalogs.
This session includes an Id aliasing mechanism to assign an
external Id to an internally assigned Id.
-
Method Summary
Modifier and TypeMethodDescriptionvoidAdds anIdto aTodofor the purpose of creating compatibility.booleanTests if this user can create todos.booleancanCreateTodoWithRecordTypes(Type[] todoRecordTypes) Tests if this user can create a singleTodousing the desired record types.booleanTests if this user can delete todos.booleanTests if this user can manageIdaliases forComnents.booleanTests if this user can update todos.createTodo(TodoForm todoForm) Creates a newTodo.voiddeleteTodo(Id todoId) Deletes aTodo.Gets theChecklistassociated with this session.Gets theChecklistIdassociated with this session.getTodoFormForCreate(Type[] todoRecordTypes) Gets the todo form for creating new todos.getTodoFormForUpdate(Id todoId) Gets the todo form for updating an existing todo.voidupdateTodo(TodoForm todoForm) Updates an existing todo.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
-
getChecklistId
Id getChecklistId()Gets theChecklistIdassociated with this session.- Returns:
- the
Checklist Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getChecklist
Gets theChecklistassociated with this session.- Returns:
- the checklist
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canCreateTodos
boolean canCreateTodos()Tests if this user can create todos. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating aTodowill result in aPERMISSION_DENIED. This is intended as a hint to an application that may not wish to offer create operations to unauthorized users.- Returns:
falseifTodocreation is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
canCreateTodoWithRecordTypes
Tests if this user can create a singleTodousing the desired record types. WhileChecklistManager.getTodoRecordTypes()can be used to examine which records are supported, this method tests which record(s) are required for creating a specificTodo. Providing an empty array tests if aTodocan be created with no records.- Parameters:
todoRecordTypes- array of todo record types- Returns:
trueifTodocreation using the specified recordTypesis supported,falseotherwise- Throws:
NullArgumentException-todoRecordTypesisnull- Compliance:
mandatory- This method must be implemented.
-
getTodoFormForCreate
TodoForm getTodoFormForCreate(Type[] todoRecordTypes) throws OperationFailedException, PermissionDeniedException Gets the todo form for creating new todos. A new form should be requested for each create transaction.- Parameters:
todoRecordTypes- array of todo record types- Returns:
- the todo form
- Throws:
NullArgumentException-todoRecordTypesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to get form for requested record types- Compliance:
mandatory- This method must be implemented.
-
createTodo
Creates a newTodo.- Parameters:
todoForm- the form for thisTodo- Returns:
- the new
Todo - Throws:
IllegalStateException-todoFormalready used for a create transactionInvalidArgumentException- one or more of the form elements is invalidNullArgumentException-todoFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-todoFormdid not originate fromgetTodoFormForCreate()- Compliance:
mandatory- This method must be implemented.
-
canUpdateTodos
boolean canUpdateTodos()Tests if this user can update todos. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating aTodowill result in aPERMISSION_DENIED. This is intended as a hint to an application that may not wish to offer update operations to unauthorized users.- Returns:
falseifTodomodification is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
getTodoFormForUpdate
TodoForm getTodoFormForUpdate(Id todoId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the todo form for updating an existing todo. A new todo form should be requested for each update transaction.- Parameters:
todoId- theIdof theTodo- Returns:
- the todo form
- Throws:
NotFoundException-todoIdis not foundNullArgumentException-todoIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateTodo
Updates an existing todo.- Parameters:
todoForm- the form containing the elements to be updated- Throws:
IllegalStateException-todoFormalready used for an update transactionInvalidArgumentException- the form contains an invalid valueNullArgumentException-todoIdortodoFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-todoFormdid not originate fromgetTodoFormForUpdate()- Compliance:
mandatory- This method must be implemented.
-
canDeleteTodos
boolean canDeleteTodos()Tests if this user can delete todos. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting anTodowill result in aPERMISSION_DENIED. This is intended as a hint to an application that may not wish to offer delete operations to unauthorized users.- Returns:
falseifTododeletion is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
deleteTodo
void deleteTodo(Id todoId) throws NotFoundException, OperationFailedException, PermissionDeniedException Deletes aTodo.- Parameters:
todoId- theIdof theTodoto remove- Throws:
NotFoundException-todoIdnot foundNullArgumentException-todoIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canManageTodoAliases
boolean canManageTodoAliases()Tests if this user can manageIdaliases forComnents. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.- Returns:
falseifTodoaliasing is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
aliasTodo
void aliasTodo(Id todoId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds anIdto aTodofor the purpose of creating compatibility. The primaryIdof theTodois determined by the provider. The newIdperforms as an alias to the primaryId. If the alias is a pointer to another todo, it is reassigned to the given todoId.- Parameters:
todoId- theIdof aTodoaliasId- the aliasId- Throws:
AlreadyExistsException-aliasIdis already assignedNotFoundException-todoIdnot foundNullArgumentException-todoIdoraliasIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-