Interface StepAdminSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
- All Known Subinterfaces:
StepBatchAdminSession
This session creates, updates, and deletes Steps . The data for
create and update is provided by the consumer via the form.
OsidForms are requested for each create or update and may not be reused.
Create and update operations differ in their usage. To create a
Step , a StepForm is requested using
getStepFormForCreate() specifying the desired record Types or
none if no record Types are needed. The returned StepForm
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
StepForm is submiited to a create operation, it cannot be reused
with another create operation unless the first operation was unsuccessful.
Each StepForm corresponds to an attempted transaction.
For updates, StepForms are requested to the Step
Id that is to be updated using getStepFormForUpdate() .
Similarly, the StepForm has metadata about the data that can be
updated and it can perform validation before submitting the update. The
StepForm can only be used once for a successful update and cannot
be reused.
The delete operations delete Steps . To unmap a Step
from the current Office , the StepOfficeAssignmentSession
should be used. These delete operations attempt to remove the Step
itself thus removing it from all known Office catalogs.
This session includes an Id aliasing mechanism to assign an
external Id to an internally assigned Id.
-
Method Summary
Modifier and TypeMethodDescriptionvoidAdds anIdto aStepfor the purpose of creating compatibility.booleanTests if this user can createSteps.booleancanCreateStepWithRecordTypes(Type[] stepRecordTypes) Tests if this user can create a singleStepusing the desired record types.booleanTests if this user can deleteSteps.booleanTests if this user can manageIdaliases forSteps.booleanTests if this user can updateSteps.createStep(StepForm stepForm) Creates a newStep.voiddeleteStep(Id stepId) Deletes aStep.Gets theOfficeassociated with this session.Gets theOfficeIdassociated with this session.getStepFormForCreate(Id processId, Type[] stepRecordTypes) Gets the step form for creating new steps.getStepFormForUpdate(Id stepId) Gets the step form for updating an existing step.voidupdateStep(StepForm stepForm) Updates an existing step.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
-
getOfficeId
Id getOfficeId()Gets theOfficeIdassociated with this session.- Returns:
- the
Office Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getOffice
Gets theOfficeassociated with this session.- Returns:
- the office
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canCreateSteps
boolean canCreateSteps()Tests if this user can createSteps. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating aStepwill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.- Returns:
falseifStepcreation is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
canCreateStepWithRecordTypes
Tests if this user can create a singleStepusing the desired record types. WhileWorkflowManager.getStepRecordTypes()can be used to examine which records are supported, this method tests which record(s) are required for creating a specificStep. Providing an empty array tests if aStepcan be created with no records.- Parameters:
stepRecordTypes- array of step record types- Returns:
trueifStepcreation using the specified recordTypesis supported,falseotherwise- Throws:
NullArgumentException-stepRecordTypesisnull- Compliance:
mandatory- This method must be implemented.
-
getStepFormForCreate
StepForm getStepFormForCreate(Id processId, Type[] stepRecordTypes) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the step form for creating new steps. A new form should be requested for each create transaction.- Parameters:
processId- a processIdstepRecordTypes- array of step record types- Returns:
- the step form
- Throws:
NotFoundException-processIdis not foundNullArgumentException-processIdorstepRecordTypesisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- unable to get form for requested record types- Compliance:
mandatory- This method must be implemented.
-
createStep
Creates a newStep.- Parameters:
stepForm- the form for thisStep- Returns:
- the new
Step - Throws:
IllegalStateException-stepFormalready used in a create transactionInvalidArgumentException- one or more of the form elements is invalidNullArgumentException-stepFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-stepFormdid not originate fromgetStepFormForCreate()- Compliance:
mandatory- This method must be implemented.
-
canUpdateSteps
boolean canUpdateSteps()Tests if this user can updateSteps. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating aStepwill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.- Returns:
falseifStepmodification is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
getStepFormForUpdate
StepForm getStepFormForUpdate(Id stepId) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the step form for updating an existing step. A new step form should be requested for each update transaction.- Parameters:
stepId- theIdof theStep- Returns:
- the step form
- Throws:
NotFoundException-stepIdis not foundNullArgumentException-stepIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
updateStep
Updates an existing step.- Parameters:
stepForm- the form containing the elements to be updated- Throws:
IllegalStateException-stepFormalready used in an update transactionInvalidArgumentException- the form contains an invalid valueNullArgumentException-stepFormisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException-stepFormdid not originate fromgetStepFormForUpdate()- Compliance:
mandatory- This method must be implemented.
-
canDeleteSteps
boolean canDeleteSteps()Tests if this user can deleteSteps. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting aStepwill result in aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.- Returns:
falseifStepdeletion is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
deleteStep
void deleteStep(Id stepId) throws NotFoundException, OperationFailedException, PermissionDeniedException Deletes aStep.- Parameters:
stepId- theIdof theStepto remove- Throws:
NotFoundException-stepIdnot foundNullArgumentException-stepIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canManageStepAliases
boolean canManageStepAliases()Tests if this user can manageIdaliases forSteps. 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:
falseifStepaliasing is not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
aliasStep
void aliasStep(Id stepId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException Adds anIdto aStepfor the purpose of creating compatibility. The primaryIdof theStepis determined by the provider. The newIdperforms as an alias to the primaryId. If the alias is a pointer to another step, it is reassigned to the given stepId.- Parameters:
stepId- theIdof aStepaliasId- the aliasId- Throws:
AlreadyExistsException-aliasIdis already assignedNotFoundException-stepIdnot foundNullArgumentException-stepIdoraliasIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-