nl.vpro.w3.rdf.Description Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gtaa-domain Show documentation
Show all versions of gtaa-domain Show documentation
Contains java bindings for the objects served out by Openskos/GTAA
/*
* 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