Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »


Code Branch

https://github.com/DSpace/DSpace/tree/rest7/dspace-spring-rest

Code Representation of a DSpace Object

DSpace API Object (hibernate): org.dspace.content.DSpaceObject

This is the representation of an object from the DSpace database. Since DSpace 6, this object is populated with hibernate.

Rest Object: org.dspace.app.rest.model.DSpaceObject

This is a plain old java object (pojo) representation of a DSpace object.

Coding the REST object

Hateoas Object:  org.dspace.app.rest.model.hateoas.DSpaceResource

This representation of an object allows for 

  1. the embedding of other DSpace objects within the object
  2. linking to other external DSpace objects

The base class in this package uses reflection to identify attributes that are actual links to other REST resources. On a such attribute is discovered the code

  1. wrap the linked REST resource inside a DSpaceResource (so to have the identifier, self link, and links to other resources)
  2. put the wrapper in the embedde

Converter Object: org.dspace.app.rest.converter.DSpaceObjectConverter

Convert between the REST representation of an object and the hibernate representation of an object

Coding a converter object

  • No labels