de.digitalcollections.iiif.presentation.model.api.v2.Canvas Maven / Gradle / Ivy
package de.digitalcollections.iiif.presentation.model.api.v2;
import de.digitalcollections.iiif.presentation.model.api.v2.references.IiifReference;
import java.util.List;
/**
*
* The canvas represents an individual page or view and acts as a central point for laying out the different content
* resources that make up the display. As with sequences, the name should not begin with a number. Suggested patterns
* are “f1r” or “p1”.
*
*
* Recommended URI Pattern: {scheme}://{host}/{prefix}/{identifier}/canvas/{name}
*
*
* - Each canvas should have one or more content resources associated with it. Zero is possible but unlikely; it
* represents the case where the page exists (or existed) but has not been digitized.
* - A manifest, sequence or canvas must not have a format.
* - A canvas or content resource must not have a viewing direction.
*
*/
public interface Canvas extends IiifResource {
PropertyValue getDescription();
/**
* @param description A canvas may have a description to describe particular features of the view.
*/
void setDescription(PropertyValue description);
int getHeight();
void setHeight(int height);
List getImages();
void setImages(List images);
PropertyValue getLabel();
void setLabel(PropertyValue label);
List getMetadata();
/**
* @param metadata A canvas may have metadata pairs associated with it to describe its particular features.
*/
void setMetadata(List metadata);
List getOtherContent();
void setOtherContent(List iiifReferences);
Thumbnail getThumbnail();
/**
* @param thumbnail A canvas may have a thumbnail and should have a thumbnail if there are multiple images or
* resources that make up the representation.
*/
void setThumbnail(Thumbnail thumbnail);
String getViewingHint();
/**
* @param viewingHint A manifest, sequence or range may have a viewing hint, with scope as per viewingDirection. A
* canvas may have a viewing hint, and the only hint defined by this specification for canvases is "non-paged".
* "non-paged" is only valid if the canvas is within a manifest, sequence or range that is "paged", and the particular
* canvas must not be displayed in a page-turning viewer.
*/
void setViewingHint(String viewingHint);
int getWidth();
void setWidth(int width);
}