Class AbstractPostCollection<TId,TResource extends RestResource,TItemInput,TBatchInput extends AbstractBatchInput<TItemInput>>
java.lang.Object
com.google.gerrit.server.restapi.project.AbstractPostCollection<TId,TResource,TItemInput,TBatchInput>
- All Implemented Interfaces:
RestCollectionModifyView<ProjectResource,,TResource, TBatchInput> RestCollectionView<ProjectResource,,TResource, TBatchInput> RestView<TResource>
- Direct Known Subclasses:
PostLabels,PostSubmitRequirements
public abstract class AbstractPostCollection<TId,TResource extends RestResource,TItemInput,TBatchInput extends AbstractBatchInput<TItemInput>>
extends Object
implements RestCollectionModifyView<ProjectResource,TResource,TBatchInput>
Base class for a rest API batch update.
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractPostCollection(RepoMetaDataUpdater updater, com.google.inject.Provider<CurrentUser> user) -
Method Summary
Modifier and TypeMethodDescriptionResponse<?> apply(ProjectResource rsrc, TBatchInput input) Process the modification on the collection resource.protected abstract voidcreateItem(ProjectConfig config, TItemInput resource) abstract StringProvides default commit message when user doesn't specify one in the input.protected abstract voiddeleteItem(ProjectConfig config, String name) protected abstract booleanupdateItem(ProjectConfig config, String name, TItemInput resource) booleanupdateProjectConfig(ProjectConfig config, AbstractBatchInput<TItemInput> input)
-
Constructor Details
-
AbstractPostCollection
public AbstractPostCollection(RepoMetaDataUpdater updater, com.google.inject.Provider<CurrentUser> user)
-
-
Method Details
-
apply
public Response<?> apply(ProjectResource rsrc, TBatchInput input) throws AuthException, UnprocessableEntityException, PermissionBackendException, IOException, org.eclipse.jgit.errors.ConfigInvalidException, BadRequestException, ResourceConflictException, MethodNotAllowedException Description copied from interface:RestCollectionModifyViewProcess the modification on the collection 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 RestCollectionModifyViews this is usually
200 OK, but other 2XX or 3XX status codes are also possible (e.g.201 Createdif a resource was created,202 Acceptedif a background task was scheduled,204 No Contentif no content is returned,302 Foundfor a redirect).Throwing a subclass of
RestApiExceptionresults in a 4XX response to the client. For any other exception the client will get a500 Internal Server Errorresponse.- Specified by:
applyin interfaceRestCollectionModifyView<TId,TResource extends RestResource, TItemInput> - Parameters:
rsrc- the collection resource on which the modification is done- Returns:
- response to return to the client
- Throws:
AuthExceptionUnprocessableEntityExceptionPermissionBackendExceptionIOExceptionorg.eclipse.jgit.errors.ConfigInvalidExceptionBadRequestExceptionResourceConflictExceptionMethodNotAllowedException
-
updateProjectConfig
public boolean updateProjectConfig(ProjectConfig config, AbstractBatchInput<TItemInput> input) throws UnprocessableEntityException, ResourceConflictException, BadRequestException -
defaultCommitMessage
Provides default commit message when user doesn't specify one in the input. -
updateItem
protected abstract boolean updateItem(ProjectConfig config, String name, TItemInput resource) throws BadRequestException, ResourceConflictException, UnprocessableEntityException -
createItem
protected abstract void createItem(ProjectConfig config, TItemInput resource) throws BadRequestException, ResourceConflictException, UnprocessableEntityException -
deleteItem
protected abstract void deleteItem(ProjectConfig config, String name) throws BadRequestException, ResourceConflictException, UnprocessableEntityException
-