ManifestReference.java
package info.textgrid.services.textapi.apiv2;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* Lightweight manifest reference for collections.
* Contains only essential manifest data without full item/structure details.
*/
@JsonPropertyOrder({
"id",
"titles",
"revision"
})
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ManifestReference {
private String id;
private List<String> titles = new ArrayList<>();
private String revision;
/**
* Required manifest IRI
*/
public String getId() {
return id;
}
public ManifestReference setId(String id) {
this.id = id;
return this;
}
/**
* Required titles (at least one)
*/
public List<String> getTitles() {
return titles;
}
public ManifestReference setTitles(List<String> titles) {
this.titles = titles;
return this;
}
public ManifestReference addTitle(String title) {
this.titles.add(title);
return this;
}
/**
* Optional revision identifier
*/
public String getRevision() {
return revision;
}
public ManifestReference setRevision(String revision) {
this.revision = revision;
return this;
}
}