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

nl.vpro.w3.rdf.Description Maven / Gradle / Ivy

There is a newer version: 8.3.0
Show newest version
/*
 * Copyright (C) 2015 Licensed under the Apache License, Version 2.0
 * VPRO The Netherlands
 */
package nl.vpro.w3.rdf;

import lombok.*;

import java.net.URI;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.stream.Stream;

import jakarta.xml.bind.annotation.*;
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import org.apache.commons.lang3.StringUtils;

import nl.vpro.domain.gtaa.*;
import nl.vpro.dublincore.terms.Date;
import nl.vpro.openarchives.oai.Label;
import nl.vpro.openarchives.oai.Note;
import nl.vpro.xml.bind.ZonedDateTimeXmlAdapter;

import static nl.vpro.openarchives.oai.Namespaces.*;

/**
 *
 * @author Roelof Jan Koekoek
 * @since 3.7
 */
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(propOrder = {
    "type",
    "editorialNote",
    "creatorResource",
    "modifiedBy",
    "prefLabel",
    "xlPrefLabel",
    "modified",
    "uuid",
    "set",
    "inScheme",
    "notation",
    "creator",
    "status",
    "tenant",
    "acceptedBy",
    "dateAccepted",
    "dateSubmitted",
    "hiddenLabels",
    "xlHiddenLabels",
    "historyNote",
    "altLabels",
    "xlAltLabels",
    "scopeNote",
    "changeNote"
})
@ToString
@Data
@EqualsAndHashCode(callSuper = true)
public class Description extends AbstractGTAAObject {

    private static final String FORWARD = "Forward:";

    @XmlElement
    private ResourceElement type;

    @XmlElement(namespace = OPEN_SKOS)
    private Status status;

    @XmlElement(namespace = OPEN_SKOS)
    private String tenant;

    @XmlElement(namespace = OPEN_SKOS)
    private ResourceElement modifiedBy;

    @XmlElement(namespace = OPEN_SKOS)
    private String acceptedBy;

    @XmlElement(namespace = SKOS)
    private String notation;

    @XmlElement(namespace = DC_TERMS)
    @XmlJavaTypeAdapter(ZonedDateTimeXmlAdapter.class)
    private ZonedDateTime dateAccepted;

    @XmlElement(namespace = DC_TERMS_ELEMENTS)
    private String creator;

    @XmlElement(namespace = DC_TERMS, name = "creator")
    private ResourceElement creatorResource;

    @XmlElement(namespace = DC_TERMS)
    @XmlJavaTypeAdapter(ZonedDateTimeXmlAdapter.class)
    private ZonedDateTime dateSubmitted;

    @XmlElement(namespace = DC_TERMS)
    private Date modified;

    @XmlElement(namespace = OPEN_SKOS)
    private UUID uuid;

    @XmlElement(namespace = OPEN_SKOS)
    private ResourceElement set;

    @XmlElement(namespace = SKOS)
    private ResourceElement inScheme;

    @XmlElement(namespace = SKOS, name = "prefLabel")
    private Label prefLabel;

    @XmlElement(namespace = SKOS_XL, name = "prefLabel")
    private XLLabel xlPrefLabel;

    @XmlElement(namespace = SKOS, name = "hiddenLabel")
    @Singular
    private List




© 2015 - 2024 Weber Informatics LLC | Privacy Policy