All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.digitalcollections.iiif.presentation.model.api.v2.Manifest Maven / Gradle / Ivy

There is a newer version: 3.2.6
Show newest version
package de.digitalcollections.iiif.presentation.model.api.v2;

import de.digitalcollections.iiif.presentation.model.api.enums.ViewingDirection;
import de.digitalcollections.iiif.presentation.model.api.enums.ViewingHint;
import java.util.List;

/**
 * IIIF Presentation API Manifest.
 * 

* Recommended URI Pattern: {scheme}://{host}/{prefix}/{identifier}/manifest * *

    *
  • Each manifest must, and is very likely to, have one sequence, but may have more than one.
  • *
  • A manifest, sequence or canvas must not have a format.
  • *
  • A manifest or sequence must not have a height.
  • *
  • A manifest or sequence must not have a width.
  • *
  • Other resources must not have a startCanvas relationship.
  • *
* *

* Other properties are possible, either via custom extensions or endorsed by the IIIF. If a client discovers properties * that it does not understand, then it must ignore them. Other properties should consist of a prefix and a name in the * form “prefix:name” to ensure it does not collide with a property defined by IIIF specifications. Services should be * used for extensions if at all possible. * *

* A complete example response, e.g. at URL http://www.example.org/iiif/book1/manifest: * *

 * {
 *   "@context":"http://iiif.io/api/presentation/2/context.json",
 *   "@type":"sc:Manifest",
 *   "@id":"http://www.example.org/iiif/book1/manifest",
 *
 *   "label":"Book 1",
 *   "metadata": [
 *     {"label":"Author", "value":"Anne Author"},
 *     {"label":"Published", "value": [
 *       {"@value": "Paris, circa 1400", "@language":"en"},
 *       {"@value": "Paris, environ 14eme siecle", "@language":"fr"}
 *     ]
 *     }
 *   ],
 *   "description":"A longer description of this example book. It should give some real information.",
 *   "license":"http://www.example.org/license.html",
 *   "attribution":"Provided by Example Organization",
 *   "service": {
 *     "@context": "http://example.org/ns/jsonld/context.json",
 *     "@id": "http://example.org/service/example",
 *     "profile": "http://example.org/docs/example-service.html"
 *   },
 *   "seeAlso": {
 *     "@id": "http://www.example.org/library/catalog/book1.marc",
 *     "format": "application/marc"
 *   },
 *   "within":"http://www.example.org/collections/books/",
 *
 *   "sequences" : [
 *   {
 *     "@id":"http://www.example.org/iiif/book1/sequence/normal",
 *     "@type":"sc:Sequence",
 *     "label":"Current Page Order",
 *     "viewingDirection":"left-to-right",
 *     "viewingHint":"paged",
 *     "canvases": [
 *     {
 *       "@id":"http://www.example.org/iiif/book1/canvas/p1",
 *       "@type":"sc:Canvas",
 *       "label":"p. 1",
 *       "height":1000,
 *       "width":750,
 *       "images": [
 *       {
 *         "@type":"oa:Annotation",
 *         "motivation":"sc:painting",
 *         "resource":{
 *           "@id":"http://www.example.org/iiif/book1/res/page1.jpg",
 *           "@type":"dctypes:Image",
 *           "format":"image/jpeg",
 *           "service": {
 *             "@context": "http://iiif.io/api/image/2/context.json",
 *             "@id": "http://www.example.org/images/book1-page1",
 *             "profile":"http://iiif.io/api/image/2/level1.json"
 *           },
 *           "height":2000,
 *           "width":1500
 *         },
 *         "on":"http://www.example.org/iiif/book1/canvas/p1"
 *       }
 *       ],
 *       "otherContent": [
 *       {
 *         "@id":"http://www.example.org/iiif/book1/list/p1",
 *         "@type":"sc:AnnotationList"
 *       }
 *       ]
 *     },
 *     {
 *       "@id":"http://www.example.org/iiif/book1/canvas/p2",
 *       "@type":"sc:Canvas",
 *       "label":"p. 2",
 *       "height":1000,
 *       "width":750,
 *       "images": [
 *       {
 *         "@type":"oa:Annotation",
 *         "motivation":"sc:painting",
 *         "resource":{
 *           "@id":"http://www.example.org/images/book1-page2/full/1500,2000/0/default.jpg",
 *           "@type":"dctypes:Image",
 *           "format":"image/jpeg",
 *           "height":2000,
 *           "width":1500,
 *           "service": {
 *             "@context": "http://iiif.io/api/image/2/context.json",
 *             "@id": "http://www.example.org/images/book1-page2",
 *             "profile":"http://iiif.io/api/image/2/level1.json",
 *             "height":8000,
 *             "width":6000,
 *             "tiles" : [{"width": 512, "scaleFactors": [1,2,4,8,16]}]
 *           }
 *         },
 *         "on":"http://www.example.org/iiif/book1/canvas/p2"
 *       }
 *       ],
 *       "otherContent": [
 *       {
 *         "@id":"http://www.example.org/iiif/book1/list/p2",
 *         "@type":"sc:AnnotationList"
 *       }
 *       ]
 *     },
 *     {
 *       "@id":"http://www.example.org/iiif/book1/canvas/p3",
 *       "@type":"sc:Canvas",
 *       "label":"p. 3",
 *       "height":1000,
 *       "width":750,
 *       "images": [
 *       {
 *         "@type":"oa:Annotation",
 *         "motivation":"sc:painting",
 *         "resource":{
 *           "@id":"http://www.example.org/iiif/book1/res/page3.jpg",
 *           "@type":"dctypes:Image",
 *           "format":"image/jpeg",
 *           "service": {
 *             "@context": "http://iiif.io/api/image/2/context.json",
 *             "@id": "http://www.example.org/images/book1-page3",
 *             "profile":"http://iiif.io/api/image/2/level1.json"
 *           },
 *           "height":2000,
 *           "width":1500
 *         },
 *         "on":"http://www.example.org/iiif/book1/canvas/p3"
 *       }
 *       ],
 *       "otherContent": [
 *       {
 *         "@id":"http://www.example.org/iiif/book1/list/p3",
 *         "@type":"sc:AnnotationList"
 *       }
 *       ]
 *     }
 *     ]
 *   }
 *   ],
 *   "structures": [
 *   {
 *     "@id": "http://www.example.org/iiif/book1/range/r1",
 *     "@type":"sc:Range",
 *     "label":"Introduction",
 *     "canvases": [
 *       "http://www.example.org/iiif/book1/canvas/p1",
 *       "http://www.example.org/iiif/book1/canvas/p2",
 *       "http://www.example.org/iiif/book1/canvas/p3#xywh=0,0,750,300"
 *     ]
 *   }
 *   ]
 * }
 * 
* * @see http://iiif.io/api/presentation/2.0/#manifest */ public interface Manifest extends IiifResource { String getContext(); PropertyValue getDescription(); void setDescription(PropertyValue description); PropertyValue getLabel(); void setLabel(PropertyValue label); List getMetadata(); void setMetadata(List metadata); void setRanges(List structures); List getSequences(); void setSequences(List sequences); List getStructures(); void setStructures(List structures); Thumbnail getThumbnail(); void setThumbnail(Thumbnail thumbnail); String getViewingDirection(); /** * @param viewingDirection The direction that canvases of the resource should be presented when rendered for the user * to navigate and/or read. A manifest may have a viewing direction, and if so, it applies to all of its sequences * unless the sequence specifies its own viewing direction. * @see ViewingDirection */ void setViewingDirection(String viewingDirection); String getViewingHint(); /** * @param viewingHint A hint to the client as to the most appropriate method of displaying the resource. A manifest, * sequence or range may have a viewing hint, with scope as per viewingDirection. * @see ViewingHint */ void setViewingHint(String viewingHint); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy