Class DigitalObjectController
- java.lang.Object
-
- de.digitalcollections.cudami.server.controller.identifiable.entity.DigitalObjectController
-
@RestController @Api(description="The digital object controller", name="Digital object controller") public class DigitalObjectController extends Object
-
-
Constructor Summary
Constructors Constructor Description DigitalObjectController()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longcount()org.springframework.http.ResponseEntitydelete(UUID uuid)de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.DigitalObject>findAll(int pageNumber, int pageSize, String sortField, de.digitalcollections.model.api.paging.enums.Direction sortDirection, de.digitalcollections.model.api.paging.enums.NullHandling nullHandling)List<de.digitalcollections.model.api.identifiable.entity.DigitalObject>findAllReduced()de.digitalcollections.model.api.identifiable.entity.DigitalObjectfindById(UUID uuid)de.digitalcollections.model.api.identifiable.entity.DigitalObjectfindByIdentifier(String namespace, String id)de.digitalcollections.model.api.paging.SearchPageResponse<de.digitalcollections.model.api.identifiable.entity.DigitalObject>findDigitalObjects(int pageNumber, int pageSize, String sortField, de.digitalcollections.model.api.paging.enums.Direction sortDirection, de.digitalcollections.model.api.paging.enums.NullHandling nullHandling, String searchTerm)de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Collection>getCollections(UUID uuid, int pageNumber, int pageSize)List<de.digitalcollections.model.api.identifiable.resource.FileResource>getFileResources(UUID uuid)List<de.digitalcollections.model.api.identifiable.resource.ImageFileResource>getImageFileResources(UUID uuid)de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Project>getProjects(UUID uuid, int pageNumber, int pageSize)de.digitalcollections.model.api.identifiable.entity.DigitalObjectsave(de.digitalcollections.model.api.identifiable.entity.DigitalObject digitalObject, org.springframework.validation.BindingResult errors)List<de.digitalcollections.model.api.identifiable.resource.FileResource>saveFileResources(UUID uuid, List<de.digitalcollections.model.api.identifiable.resource.FileResource> fileResources)de.digitalcollections.model.api.identifiable.entity.DigitalObjectupdate(UUID uuid, de.digitalcollections.model.api.identifiable.entity.DigitalObject digitalObject, org.springframework.validation.BindingResult errors)
-
-
-
Method Detail
-
count
@ApiMethod(description="Get count of digital objects") @GetMapping(value={"/latest/digitalobjects/count","/v2/digitalobjects/count"}, produces="application/json") @ApiResponseObject public long count()
-
findAll
@ApiMethod(description="Get all digital objects") @GetMapping(value={"/latest/digitalobjects","/v2/digitalobjects"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.DigitalObject> findAll(@RequestParam(name="pageNumber",required=false,defaultValue="0") int pageNumber, @RequestParam(name="pageSize",required=false,defaultValue="25") int pageSize, @RequestParam(name="sortField",required=false,defaultValue="lastModified") String sortField, @RequestParam(name="sortDirection",required=false,defaultValue="DESC") de.digitalcollections.model.api.paging.enums.Direction sortDirection, @RequestParam(name="nullHandling",required=false,defaultValue="NATIVE") de.digitalcollections.model.api.paging.enums.NullHandling nullHandling)
-
findAllReduced
@ApiMethod(description="Get all digital objects, reduced to their metadata fields (only all identifiers and last modification date)") @GetMapping(value={"/latest/digitalobjects/reduced","/v3/digitalobjects/reduced"}, produces="application/json") @ApiResponseObject public List<de.digitalcollections.model.api.identifiable.entity.DigitalObject> findAllReduced()
-
findDigitalObjects
@ApiMethod(description="Find limited amount of digital objects containing searchTerm in label or description") @GetMapping(value={"/latest/digitalobjects/search","/v3/digitalobjects/search"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.paging.SearchPageResponse<de.digitalcollections.model.api.identifiable.entity.DigitalObject> findDigitalObjects(@RequestParam(name="pageNumber",required=false,defaultValue="0") int pageNumber, @RequestParam(name="pageSize",required=false,defaultValue="5") int pageSize, @RequestParam(name="sortField",required=false,defaultValue="uuid") String sortField, @RequestParam(name="sortDirection",required=false,defaultValue="ASC") de.digitalcollections.model.api.paging.enums.Direction sortDirection, @RequestParam(name="nullHandling",required=false,defaultValue="NATIVE") de.digitalcollections.model.api.paging.enums.NullHandling nullHandling, @RequestParam(name="searchTerm",required=false) String searchTerm)
-
findById
@ApiMethod(description="Get digital object by uuid") @GetMapping(value={"/latest/digitalobjects/{uuid}","/v2/digitalobjects/{uuid}"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.identifiable.entity.DigitalObject findById(@PathVariable UUID uuid)
-
findByIdentifier
@ApiMethod(description="Get digital object by namespace and id") @GetMapping(value={"/latest/digitalobjects/identifier/{namespace}:{id}","/v2/digitalobjects/identifier/{namespace}:{id}"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.identifiable.entity.DigitalObject findByIdentifier(@ApiPathParam(description="Namespace of the identifier") @PathVariable("namespace") String namespace, @ApiPathParam(description="value of the identifier") @PathVariable("id") String id) throws IdentifiableServiceException- Throws:
IdentifiableServiceException
-
getCollections
@ApiMethod(description="Get paged collections of a digital objects") @GetMapping(value={"/latest/digitalobjects/{uuid}/collections","/v3/digitalobjects/{uuid}/collections"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Collection> getCollections(@ApiPathParam(description="UUID of the digital object") @PathVariable("uuid") UUID uuid, @RequestParam(name="pageNumber",required=false,defaultValue="0") int pageNumber, @RequestParam(name="pageSize",required=false,defaultValue="25") int pageSize)
-
getImageFileResources
@ApiMethod(description="Get image file resources of a digital object") @GetMapping(value={"/latest/digitalobjects/{uuid}/fileresources/images","/v2/digitalobjects/{uuid}/fileresources/images"}, produces="application/json") @ApiResponseObject public List<de.digitalcollections.model.api.identifiable.resource.ImageFileResource> getImageFileResources(@PathVariable UUID uuid)
-
getFileResources
@ApiMethod(description="Get file resources of a digital object") @GetMapping(value={"/latest/digitalobjects/{uuid}/fileresources","/v2/digitalobjects/{uuid}/fileresources"}, produces="application/json") @ApiResponseObject public List<de.digitalcollections.model.api.identifiable.resource.FileResource> getFileResources(@PathVariable UUID uuid)
-
getProjects
@ApiMethod(description="Get paged projects of a digital objects") @GetMapping(value={"/latest/digitalobjects/{uuid}/projects","/v3/digitalobjects/{uuid}/projects"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Project> getProjects(@ApiPathParam(description="UUID of the digital object") @PathVariable("uuid") UUID uuid, @RequestParam(name="pageNumber",required=false,defaultValue="0") int pageNumber, @RequestParam(name="pageSize",required=false,defaultValue="25") int pageSize)
-
save
@ApiMethod(description="Save a newly created digital object") @PostMapping(value={"/latest/digitalobjects","/v2/digitalobjects"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.identifiable.entity.DigitalObject save(@RequestBody de.digitalcollections.model.api.identifiable.entity.DigitalObject digitalObject, org.springframework.validation.BindingResult errors) throws IdentifiableServiceException- Throws:
IdentifiableServiceException
-
saveFileResources
@ApiMethod(description="Save list of fileresources for a given digital object") @PostMapping(value={"/latest/digitalobjects/{uuid}/fileresources","/v3/digitalobjects/{uuid}/fileresources"}, produces="application/json") @ApiResponseObject public List<de.digitalcollections.model.api.identifiable.resource.FileResource> saveFileResources(@ApiPathParam(description="UUID of the digital object") @PathVariable("uuid") UUID uuid, @RequestBody List<de.digitalcollections.model.api.identifiable.resource.FileResource> fileResources)
-
update
@ApiMethod(description="Update a digital object") @PutMapping(value={"/latest/digitalobjects/{uuid}","/v2/digitalobjects/{uuid}"}, produces="application/json") @ApiResponseObject public de.digitalcollections.model.api.identifiable.entity.DigitalObject update(@ApiPathParam(description="UUID of the digital object") @PathVariable("uuid") UUID uuid, @RequestBody de.digitalcollections.model.api.identifiable.entity.DigitalObject digitalObject, org.springframework.validation.BindingResult errors) throws IdentifiableServiceException- Throws:
IdentifiableServiceException
-
delete
@ApiMethod(description="Delete a digital object with all its relations") @DeleteMapping(value={"/latest/digitalobjects/{uuid}","/v2/digitalobjects/{uuid}"}, produces="application/json") @ApiResponseObject public org.springframework.http.ResponseEntity delete(@ApiPathParam(description="UUID of the digital object") @PathVariable("uuid") UUID uuid)
-
-