org.kuali.student.core.proposal.service
Interface ProposalService

All Superinterfaces:
DictionaryService, SearchService
All Known Implementing Classes:
ProposalServiceImpl

public interface ProposalService
extends DictionaryService, SearchService


Method Summary
 ProposalInfo createProposal(String proposalTypeKey, ProposalInfo proposalInfo)
          Creates a new Proposal
 StatusInfo deleteProposal(String proposalId)
          Deletes an existing Proposal
 ProposalInfo getProposal(String proposalId)
          Retrieves the details of a single Proposal by proposalId
 ProposalInfo getProposalByWorkflowId(String workflowId)
           
 List<ProposalInfo> getProposalsByIdList(List<String> proposalIdList)
          Retrieves the list of Proposals for the supplied list of proposalIds
 List<ProposalInfo> getProposalsByProposalType(String proposalTypeKey)
          Retrieves the list of Proposals for the supplied Proposal Type
 List<ProposalInfo> getProposalsByReference(String referenceTypeKey, String referenceId)
          Retrieves the list of Proposals for the specified Reference Type and Reference Id
 List<ProposalInfo> getProposalsByState(String proposalState, String proposalTypeKey)
          Retrieves the list of Proposals for the specified proposal type and state
 ProposalTypeInfo getProposalType(String proposalTypeKey)
          Retrieves information about a particular proposal type
 List<ProposalTypeInfo> getProposalTypes()
          Retrieves the list of proposal types known by this service
 List<ProposalTypeInfo> getProposalTypesForReferenceType(String referenceTypeKey)
          Retrieves the list of proposal types that are defined for a particular Reference Type
 List<ReferenceTypeInfo> getReferenceTypes()
          Retrieves the list of types which can be referenced by a proposal.
 ProposalInfo updateProposal(String proposalId, ProposalInfo proposalInfo)
          Updates an existing CLU
 List<ValidationResultInfo> validateProposal(String validationType, ProposalInfo proposalInfo)
          Validates a proposal.
 
Methods inherited from interface org.kuali.student.common.dictionary.service.DictionaryService
getObjectStructure, getObjectTypes
 
Methods inherited from interface org.kuali.student.common.search.service.SearchService
getSearchCriteriaType, getSearchCriteriaTypes, getSearchResultType, getSearchResultTypes, getSearchType, getSearchTypes, getSearchTypesByCriteria, getSearchTypesByResult, search
 

Method Detail

getProposalTypes

List<ProposalTypeInfo> getProposalTypes()
                                        throws OperationFailedException
Retrieves the list of proposal types known by this service

Returns:
list of proposal types
Throws:
OperationFailedException - unable to complete request

getProposalType

ProposalTypeInfo getProposalType(String proposalTypeKey)
                                 throws DoesNotExistException,
                                        InvalidParameterException,
                                        MissingParameterException,
                                        OperationFailedException
Retrieves information about a particular proposal type

Parameters:
proposalTypeKey - proposal type identifier
Returns:
proposal type information
Throws:
DoesNotExistException - specified proposal type not found
InvalidParameterException - invalid proposalTypeKey
MissingParameterException - proposalTypeKey not specified
OperationFailedException - unable to complete request

getReferenceTypes

List<ReferenceTypeInfo> getReferenceTypes()
                                          throws OperationFailedException
Retrieves the list of types which can be referenced by a proposal.

Returns:
the list of types which can be referenced by a proposal
Throws:
OperationFailedException - unable to complete request

getProposalTypesForReferenceType

List<ProposalTypeInfo> getProposalTypesForReferenceType(String referenceTypeKey)
                                                        throws DoesNotExistException,
                                                               InvalidParameterException,
                                                               MissingParameterException,
                                                               OperationFailedException
Retrieves the list of proposal types that are defined for a particular Reference Type

Parameters:
referenceTypeKey - referenceTypeKey
Returns:
List of proposal types
Throws:
DoesNotExistException - specified referenceTypeKey not found
InvalidParameterException - invalid referenceTypeKey
MissingParameterException - referenceTypeKey not specified
OperationFailedException - unable to complete request

validateProposal

List<ValidationResultInfo> validateProposal(String validationType,
                                            ProposalInfo proposalInfo)
                                            throws DoesNotExistException,
                                                   InvalidParameterException,
                                                   MissingParameterException,
                                                   OperationFailedException
Validates a proposal. Depending on the value of validationType, this validation could be limited to tests on just the current object and its directly contained subobjects or expanded to perform all tests related to this object. If an identifier is present for the proposal and a record is found for that identifier, the validation checks if the proposal can be shifted to the new values. If a record cannot be found for the identifier, it is assumed that the record does not exist and as such, the checks performed will be much shallower, typically mimicking those performed by setting the validationType to the current object. This is a slightly different pattern from the standard validation as the caller provides the identifier in the create statement instead of the server assigning an identifier.

Parameters:
validationType - Identifier of the extent of validation
proposalInfo - The proposal information to be tested.
Returns:
Results from performing the validation
Throws:
DoesNotExistException - validationTypeKey not found
InvalidParameterException - invalid validationTypeKey, proposalInfo
MissingParameterException - missing validationTypeKey, proposalInfo
OperationFailedException - unable to complete request

getProposal

ProposalInfo getProposal(String proposalId)
                         throws DoesNotExistException,
                                InvalidParameterException,
                                MissingParameterException,
                                OperationFailedException
Retrieves the details of a single Proposal by proposalId

Parameters:
proposalId - Unique id of the Proposal to be retrieved
Returns:
Details of the Proposal requested
Throws:
DoesNotExistException - proposalId not found
InvalidParameterException - invalid proposalId
MissingParameterException - invalid proposalId
OperationFailedException - unable to complete request

getProposalsByIdList

List<ProposalInfo> getProposalsByIdList(List<String> proposalIdList)
                                        throws DoesNotExistException,
                                               InvalidParameterException,
                                               MissingParameterException,
                                               OperationFailedException
Retrieves the list of Proposals for the supplied list of proposalIds

Parameters:
proposalIdList - list of proposal identifiers
Returns:
List of proposals that match the supplied proposalId list
Throws:
DoesNotExistException - One or more proposalIds not found
InvalidParameterException - One or more invalid proposalId
MissingParameterException - missing proposalIdList
OperationFailedException - unable to complete request

getProposalsByProposalType

List<ProposalInfo> getProposalsByProposalType(String proposalTypeKey)
                                              throws DoesNotExistException,
                                                     InvalidParameterException,
                                                     MissingParameterException,
                                                     OperationFailedException
Retrieves the list of Proposals for the supplied Proposal Type

Parameters:
proposalTypeKey - key of the proposal type
Returns:
List of proposal information
Throws:
DoesNotExistException - proposalTypeKey not found
InvalidParameterException - invalid proposalTypeKey
MissingParameterException - missing proposalTypeKey
OperationFailedException - unable to complete request

getProposalsByReference

List<ProposalInfo> getProposalsByReference(String referenceTypeKey,
                                           String referenceId)
                                           throws DoesNotExistException,
                                                  InvalidParameterException,
                                                  MissingParameterException,
                                                  OperationFailedException
Retrieves the list of Proposals for the specified Reference Type and Reference Id

Parameters:
referenceTypeKey - Key of the Reference Type
referenceId - Identifier of the reference
Returns:
list of Proposal information
Throws:
DoesNotExistException - referenceTypeKey or referenceId not found
InvalidParameterException - invalid referenceTypeKey or referenceId
MissingParameterException - missing referenceTypeKey or referenceId
OperationFailedException - unable to complete request

getProposalsByState

List<ProposalInfo> getProposalsByState(String proposalState,
                                       String proposalTypeKey)
                                       throws DoesNotExistException,
                                              InvalidParameterException,
                                              MissingParameterException,
                                              OperationFailedException
Retrieves the list of Proposals for the specified proposal type and state

Parameters:
proposalState - Proposal State
proposalTypeKey - Proposal Type.
Returns:
list of Proposal information
Throws:
DoesNotExistException - proposalTypeKey not found
InvalidParameterException - invalid proposalState or proposalTypeKey
MissingParameterException - missing proposalState or proposalTypeKey
OperationFailedException - unable to complete request

getProposalByWorkflowId

ProposalInfo getProposalByWorkflowId(String workflowId)
                                     throws DoesNotExistException,
                                            InvalidParameterException,
                                            MissingParameterException,
                                            OperationFailedException
Parameters:
workflowId - Workflow id
Returns:
Proposal Information
Throws:
DoesNotExistException - workflowId not found
InvalidParameterException - invalid workflowId
MissingParameterException - missing workflowId
OperationFailedException - unable to complete request

createProposal

ProposalInfo createProposal(String proposalTypeKey,
                            ProposalInfo proposalInfo)
                            throws AlreadyExistsException,
                                   DataValidationErrorException,
                                   DoesNotExistException,
                                   InvalidParameterException,
                                   MissingParameterException,
                                   OperationFailedException,
                                   PermissionDeniedException
Creates a new Proposal

Parameters:
proposalTypeKey - identifier of the Proposal Type for the Proposal being created
proposalInfo - information about the Proposal being created
Returns:
the created Proposal information
Throws:
AlreadyExistsException - Proposal already exists
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - proposalTypeKey not found
InvalidParameterException - invalid proposalTypeKey, proposalInfo
MissingParameterException - missing proposalTypeKey, proposalInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure

updateProposal

ProposalInfo updateProposal(String proposalId,
                            ProposalInfo proposalInfo)
                            throws DataValidationErrorException,
                                   DoesNotExistException,
                                   InvalidParameterException,
                                   MissingParameterException,
                                   OperationFailedException,
                                   PermissionDeniedException,
                                   VersionMismatchException
Updates an existing CLU

Parameters:
proposalId - identifier for the Proposal to be updated
proposalInfo - updated information about the Proposal
Returns:
the updated Proposal information
Throws:
DataValidationErrorException - One or more values invalid for this operation
DoesNotExistException - proposalId not found
InvalidParameterException - invalid proposalId, proposalInfo
MissingParameterException - missing proposalId, proposalInfo
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure
VersionMismatchException - The action was attempted on an out of date version.

deleteProposal

StatusInfo deleteProposal(String proposalId)
                          throws DoesNotExistException,
                                 InvalidParameterException,
                                 MissingParameterException,
                                 DependentObjectsExistException,
                                 OperationFailedException,
                                 PermissionDeniedException
Deletes an existing Proposal

Parameters:
proposalId - identifier for the Proposal to be deleted
Returns:
status of the operation
Throws:
DoesNotExistException - proposalId not found
InvalidParameterException - invalid proposalId
MissingParameterException - missing proposalId
DependentObjectsExistException - delete would leave orphaned objects or violate integrity constraints
OperationFailedException - unable to complete request
PermissionDeniedException - authorization failure


Copyright © 2007-2011 The Kuali Foundation. All Rights Reserved.