Interface RestModifyView<R extends RestResource,I>
-
- Type Parameters:
R
- type of the resource the view modifies.I
- type of input the JSON parser will parse the input into.
- All Superinterfaces:
RestView<R>
- All Known Implementing Classes:
Abandon
,AddMembers
,AddMembers.UpdateMember
,AddSubgroups
,AddSubgroups.UpdateSubgroup
,ApplyFix
,BanCommit
,ChangeEdits.DeleteContent
,ChangeEdits.EditMessage
,ChangeEdits.Put
,Check
,Check
,CheckAccess
,CheckConsistency
,CherryPick
,CherryPickCommit
,ConfirmEmail
,CreateAccessChange
,CreateDraftComment
,CreateMergePatchSet
,DeleteActive
,DeleteAssignee
,DeleteBranch
,DeleteBranches
,DeleteChange
,DeleteChangeMessage
,DeleteChangeMessage.DefaultDeleteChangeMessage
,DeleteComment
,DeleteDashboard
,DeleteDraftComment
,DeleteDraftComments
,DeleteEmail
,DeleteExternalIds
,DeleteMembers
,DeleteMembers.DeleteMember
,DeletePrivate
,DeletePrivateByPost
,DeleteReviewer
,DeleteSshKey
,DeleteSubgroups
,DeleteSubgroups.DeleteSubgroup
,DeleteTag
,DeleteTags
,DeleteTask
,DeleteVote
,DeleteWatchedProjects
,DisablePlugin
,EnablePlugin
,FlushCache
,GarbageCollect
,Ignore
,Index
,Index
,Index
,Index
,IndexChanges
,IndexChanges
,InstallPlugin
,MarkAsReviewed
,MarkAsUnreviewed
,Move
,PostHashtags
,PostPrivate
,PostReview
,PostWatchedProjects
,PublishChangeEdit
,PutAccount
,PutActive
,PutAgreement
,PutAssignee
,PutBranch
,PutConfig
,PutDescription
,PutDescription
,PutDescription
,PutDraftComment
,PutEmail
,PutGroup
,PutHttpPassword
,PutMessage
,PutName
,PutName
,PutOptions
,PutOwner
,PutPreferred
,PutProject
,PutStatus
,PutTag
,PutTopic
,PutUsername
,Rebase
,Rebase.CurrentRevision
,RebaseChangeEdit
,ReloadConfig
,ReloadPlugin
,Restore
,RetryingRestModifyView
,Revert
,Reviewed.DeleteReviewed
,Reviewed.PutReviewed
,SetAccess
,SetDashboard
,SetDiffPreferences
,SetDiffPreferences
,SetEditPreferences
,SetEditPreferences
,SetHead
,SetParent
,SetPreferences
,SetPreferences
,SetReadyForReview
,SetWorkInProgress
,StarredChanges.Delete
,StarredChanges.Put
,Stars.Post
,Submit
,Submit.CurrentRevision
,TestSubmitRule
,TestSubmitType
,Unignore
public interface RestModifyView<R extends RestResource,I> extends RestView<R>
RestView that supports accepting input and changing a resource.The input must be supplied as JSON as the body of the HTTP request. Modify views can be invoked by any HTTP method that is not
GET
, which includesPOST
,PUT
,DELETE
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Response<?>
apply(R resource, I input)
Process the view operation by altering the resource.
-
-
-
Method Detail
-
apply
Response<?> apply(R resource, I input) throws AuthException, BadRequestException, ResourceConflictException, Exception
Process the view operation by altering the resource.The value of the returned response is automatically converted to JSON unless it is a
BinaryResult
.The returned response defines the status code that is returned to the client. For RestModifyViews this is usually
200 OK
, but other 2XX or 3XX status codes are also possible (e.g.202 Accepted
if a background task was scheduled,204 No Content
if no content is returned,302 Found
for a redirect).Throwing a subclass of
RestApiException
results in a 4XX response to the client. For any other exception the client will get a500 Internal Server Error
response.- Parameters:
resource
- resource to modifyinput
- input after parsing from request- Returns:
- response to return to the client
- Throws:
AuthException
- the caller is not permitted to access this view.BadRequestException
- the request was incorrectly specified and cannot be handled by this view.ResourceConflictException
- the resource state does not permit this view to make the changes at this time.Exception
- the implementation of the view failed. The exception will be logged and HTTP 500 Internal Server Error will be returned to the client.
-
-