All Classes Interface Summary Class Summary Exception Summary 
| Class | Description | 
| Bag | A class to construct BagIt bags. | 
| BagEntryTest |  | 
| BagItROCrateWriter | A class for writing all necessary tag files etc. | 
| BagItROManifest | A modification of the ROBundle Manifest "bean", that allows writing the JSON-LD manifest to the appropriate
 directory in accordance with https://w3id.org/ro/bagit | 
| BagItROService | A service for creating a BagIt RO folder (or Zip file) from a given ResearchObject. | 
| BagItROServiceTest |  | 
| BagItROWriter | A class for writing all necessary tag files etc. | 
| BagWriter | A class for writing all necessary tag files etc. | 
| ContentController | A controller to handle manipulation of a ResearchObject's content. | 
| DepositionException | Exception thrown when an error occurs during the deposition process. | 
| DepositionExceptionAdvice | Class for deciding how the server should respond when a DepositionException occurs. | 
| Depositor | Interface for depositors of Research Objects into external repositories. | 
| DepositorService | A service to load the appropriate Depositor bean and perform the deposition action. | 
| FieldNotFoundAdvice | Class for deciding how the server should respond when a FieldNotFoundException occurs. | 
| FieldNotFoundException | Exception thrown when client tries to query a non-existent field on a RO. | 
| GenericHTTPDepositor | An example implementation of a Depositor, that performs a simple HTTP POST of a zipped BagIt-RO serialization
 of a Research Object to a configured URL, with some optional configured HTTP headers. | 
| GenericHTTPDepositorConfig | Configuration for a GenericHTTPDepositor | 
| ImmutableResearchObjectAdvice | Class for deciding how the server should respond when a ImmutableResearchObjectException occurs. | 
| ImmutableResearchObjectException | Exception thrown when client tries to modify an immutable Research Object. | 
| JsonUnifier | A utility class to help convert between Jackson and org.json JSON representations. | 
| LinkWithName | HATEOAS's Link class does not support the "name" attribute yet, which we need for listing the "field" links for a
 ResearchObject. | 
| MendeleyDataClient | A very basic client to interact with Mendeley Data's REST API. | 
| MendeleyDataDepositor | A Depositor to deposit a zipped BagIt-RO serialization of a Research Object into Mendeley Data through the datasets API. | 
| MendeleyDataDepositorConfig | Configuration for a Mendeley Data Depositor | 
| ProfileValidationAdvice | Class for deciding how the server should respond when a ProfileValidationException occurs. | 
| ProfileValidationException | An exception that wraps ValidationException, adding a method to generate a Jackson JsonNode object detailing
 the error. | 
| ProxySerializerModifier | A class to modify how the ROBundle Proxy bean is serialized. | 
| RemoteResource | A remote resource to be bagged. | 
| ResearchObject | A representation of a RO produced by the composer. | 
| ResearchObjectController | A simple controller to handle viewing, listing, deleting, creating and bagging Research Objects. | 
| ResearchObjectNotFoundAdvice | Class for deciding how the server should respond when a ResearchObjectNotFoundException occurs. | 
| ResearchObjectNotFoundException | Exception thrown when client tries to query a non-existent RO. | 
| ResearchObjectProfile | A representation of a RO profile. | 
| ResearchObjectProfileController | A simple controller to handle RO profile GET requests (index and view). | 
| ResearchObjectProfileNotFoundAdvice | Class for deciding how the server should respond when a ResearchObjectProfileNotFoundException occurs. | 
| ResearchObjectProfileNotFoundException | Exception thrown when client tries to query a non-existent profile. | 
| ResearchObjectProfileRepository | A repository to handle fetching of RO profiles from the database. | 
| ResearchObjectProfileResourceAssembler | An assembler to control how the profile is serialized as a HAL+JSON document. | 
| ResearchObjectProfileTest |  | 
| ResearchObjectRepository | A repository to handle fetching of Research Objects from the database. | 
| ResearchObjectResourceAssembler | An assembler to control how a Research Object is serialized as a HAL+JSON document. | 
| ResearchObjectServiceApplication | A web service to facilitate the creation of Research Objects, constrained to pre-defined profiles. | 
| ResearchObjectServiceApplicationTests |  | 
| ResearchObjectSummary | A sparse "summary" version of a Research Object, to be used to serialize ROs on index views. | 
| ResearchObjectSummaryResourceAssembler | An assembler to serialize a Research Object in a minimal "summary" HAL+JSON document. | 
| ResearchObjectTest |  | 
| ResearchObjectValidator | A class for validating a Research Objects using a provided ResearchObjectProfile,
 raising a ProfileValidationException if the given content is not valid. | 
| ROCrateMetadata |  | 
| SchemaWrapper | A wrapper class to try and avoid tight coupling to the org.everit.json.schema library. | 
| StreamWithDigests | A class to wrap an OutputStream and compute a set of digests whilst writing. | 
| TrailingSlashWriter | A class to add a trailing slash to an ROBundle Proxy's folder path. | 
| ZenodoClient | A very basic client to interact with Zenodo's REST API. | 
| ZenodoDepositor | A Depositor to deposit a zipped BagIt-RO serialization of a Research Object into Zenodo through the depositions API. | 
| ZenodoDepositorConfig | Configuration for a ZenodoDepositor |