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

com.github.anno4j.model.CreationProvenance Maven / Gradle / Ivy

Go to download

Read and write API for W3C Web Annotation Data Model (http://www.w3.org/TR/annotation-model/) and W3C Open Annotation Data Model (http://www.openannotation.org/spec/core/)

There is a newer version: 2.4
Show newest version
package com.github.anno4j.model;

import com.github.anno4j.model.impl.ResourceObject;
import com.github.anno4j.model.namespaces.Anno4jNS;
import com.github.anno4j.model.namespaces.DCTERMS;
import com.github.anno4j.model.namespaces.OADM;
import org.openrdf.annotations.Iri;

import java.util.Set;

/**
 * Interface for the Annotation, Body, and Target class, introducing provenance information: created, creator, and modified properties
 */
@Iri(Anno4jNS.CREATION_PROVENANCE)
public interface CreationProvenance extends ResourceObject {

    /**
     * Gets the value of the http://purl.org/dc/terms/creator relationship.
     *
     * @return The Agent of the dcterms:creator relationship.
     */
    @Iri(DCTERMS.CREATOR)
    Agent getCreator();

    /**
     * Set the value of the http://purl.org/dc/terms/creator relationship.
     *
     * @param agent The Agent to set for the dcterms:creator relationship.
     */
    @Iri(DCTERMS.CREATOR)
    void setCreator(Agent agent);

    /**
     * Gets the value of the http://purl.org/dc/terms/created property.
     *
     * @return  The timestamp value of the dcterms:created property.
     */
    @Iri(DCTERMS.CREATED)
    String getCreated();

    /**
     * Sets the value of the http://purl.org/dc/terms/created property.
     *
     * @param created   The timestamp to set for the dcterms:created property.
     */
    @Iri(DCTERMS.CREATED)
    void setCreated(String created);

    /**
     * Set the value of the http://purl.org/dc/terms/created property.
     *
     * @param year          The year to set.
     * @param month         The month to set.
     * @param day           The day to set.
     * @param hours         The hours to set.
     * @param minutes       The minutes to set.
     * @param seconds       The seconds to set.
     * @param timezoneID    The timezone to set.
     */
    void setCreated(int year, int month, int day, int hours, int minutes, int seconds, String timezoneID);

    /**
     * Gets the value of the http://purl.org/dc/terms/modified property.
     *
     * @return  The timestamp value of the dcterms:modified property.
     */
    @Iri(DCTERMS.MODIFIED)
    String getModified();

    /**
     * Set the value of the http://purl.org/dc/terms/modified property.
     *
     * @param modification  The timestamp value to set for the dcterms:modified property.
     */
    @Iri(DCTERMS.MODIFIED)
    void setModified(String modification);

    /**
     * Set the value of the http://purl.org/dc/terms/modified property.
     *
     * @param year          The year to set.
     * @param month         The month to set.
     * @param day           The day to set.
     * @param hours         The hours to set.
     * @param minutes       The minutes to set.
     * @param seconds       The seconds to set.
     * @param timezoneID    The timezone to set.
     */
    void setModified(int year, int month, int day, int hours, int minutes, int seconds, String timezoneID);

    /**
     * Sets the values for the http://purl.org/dc/terms/rights relationship.
     *
     * Information about rights held in and over the resource.
     *
     * @param rights    The Set of values to set for the http://purl.org/dc/terms/rights relationship.
     */
    @Iri(DCTERMS.RIGHTS)
    void setRights(Set rights);

    /**
     * Gets the Set of values currently defined for the http://purl.org/dc/terms/rights relationship.
     *
     * Information about rights held in and over the resource.
     *
     * @return  The Set of values currently defined for the http://purl.org/dc/terms/rights relationship.
     */
    @Iri(DCTERMS.RIGHTS)
    Set getRights();

    /**
     * Adds a single value to the Set of values currently defined for the http://purl.org/dc/terms/rights relationship.
     *
     * @param right The value to add to the http://purl.org/dc/terms/rights relationship.
     */
    void addRight(ResourceObject right);

    /**
     * Sets the value for the http://www.w3.org/ns/oa#canonical relationship.
     *
     * A object of the relationship is the canonical IRI that can always be used to deduplicate the Annotation,
     * regardless of the current IRI used to access the representation.
     *
     * @param canonicalResource The value to set for the http://www.w3.org/ns/oa#canonical relationship.
     */
    @Iri(OADM.CANONICAL)
    void setCanonical(ResourceObject canonicalResource);

    /**
     * Gets the value currently defined for the http://www.w3.org/ns/oa#canonical relationship.
     *
     * A object of the relationship is the canonical IRI that can always be used to deduplicate the Annotation,
     * regardless of the current IRI used to access the representation.
     *
     * @return  The value currently defined for the http://www.w3.org/ns/oa#canonical relationship.
     */
    @Iri(OADM.CANONICAL)
    ResourceObject getCanonical();

    /**
     * Sets the values for the http://www.w3.org/ns/oa#via relationship.
     *
     * A object of the relationship is a resource from which the source resource was retrieved by the providing system.
     *
     * @param viaSet    The Set of values to set for the http://www.w3.org/ns/oa#via relationship.
     */
    @Iri(OADM.VIA)
    void setVia(Set viaSet);

    /**
     * Gets the Set of values currently defined for the http://www.w3.org/ns/oa#via relationship.
     *
     * A object of the relationship is a resource from which the source resource was retrieved by the providing system.
     *
     * @return  The Set of values currently defined for the http://www.w3.org/ns/oa#via relationship.
     */
    @Iri(OADM.VIA)
    Set getVia();

    /**
     * Adds a single value to the Set of values currently defined for the http://www.w3.org/ns/oa#via relationship.
     *
     * @param via   The single value to add to the Set of values currently defined for the http://www.w3.org/ns/oa#via
     *              relationship.
     */
    void addVia(ResourceObject via);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy