/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE file at the root of the source
* tree and available online at
*
* https://github.com/keeps/roda
*/
package org.roda.core.data.v2.ip.metadata;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.roda.core.data.common.RodaConstants;
import org.roda.core.data.v2.common.RODAObjectList;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* @author Hélder Silva <hsilva@keep.pt>
*/
@XmlRootElement(name = RodaConstants.RODA_OBJECT_PRESERVATION_METADATA_LIST)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PreservationMetadataList implements RODAObjectList<PreservationMetadata> {
private static final long serialVersionUID = 1682622329196597355L;
@JsonIgnore
private String id;
private List<PreservationMetadata> metadataList;
public PreservationMetadataList() {
super();
metadataList = new ArrayList<>();
}
public PreservationMetadataList(List<PreservationMetadata> preservationMetadataList) {
super();
this.metadataList = preservationMetadataList;
}
@Override
@JsonProperty(value = RodaConstants.RODA_OBJECT_PRESERVATION_METADATA_LIST)
@XmlElement(name = RodaConstants.RODA_OBJECT_PRESERVATION_METADATA)
public List<PreservationMetadata> getObjects() {
return metadataList;
}
@Override
public void setObjects(List<PreservationMetadata> preservationMetadataList) {
this.metadataList = preservationMetadataList;
}
@Override
public void addObject(PreservationMetadata preservationMetadata) {
this.metadataList.add(preservationMetadata);
}
}