| package de.ids_mannheim.korap; |
| |
| import java.util.*; |
| |
| import de.ids_mannheim.korap.util.KorapDate; |
| import de.ids_mannheim.korap.document.KorapPrimaryData; |
| import de.ids_mannheim.korap.index.FieldDocument; |
| |
| |
| import com.fasterxml.jackson.databind.ObjectMapper; |
| import com.fasterxml.jackson.annotation.*; |
| |
| /* Todo:: Author and textClass may be arrays! */ |
| |
| |
| /** |
| * Abstract class representing a document in the KorAP index. |
| * |
| * @author ndiewald |
| */ |
| @JsonIgnoreProperties(ignoreUnknown = true) |
| public abstract class KorapDocument { |
| private KorapPrimaryData primaryData; |
| |
| @JsonIgnore |
| public int internalDocID, localDocID; |
| |
| private String author, textClass, corpusID, |
| pubPlace, ID, title, subTitle, |
| foundries, tokenization, |
| layerInfo, field; |
| |
| private KorapDate pubDate; |
| |
| /** |
| * Set the publication date of the document the match occurs in. |
| * |
| * @param date The date as a KorapDate compatible string representation. |
| * @return A KorapDate object for chaining. |
| * @see KorapDate#Constructor(String) |
| */ |
| public KorapDate setPubDate (String date) { |
| // ObjectMapper mapper = new ObjectMapper(); |
| this.pubDate = new KorapDate(date); |
| return this.pubDate; |
| }; |
| |
| /** |
| * Set the publication date of the document the match occurs in. |
| * |
| * @param date The date as a KorapDate object. |
| * @return A KorapDate object for chaining. |
| * @see KorapDate |
| */ |
| public KorapDate setPubDate (KorapDate date) { |
| return (this.pubDate = date); |
| }; |
| |
| /** |
| * Get the publication date of the document the match occurs in as a KorapDate object. |
| */ |
| @JsonIgnore |
| public KorapDate getPubDate () { |
| return this.pubDate; |
| }; |
| |
| @JsonProperty("pubDate") |
| public String getPubDateString () { |
| if (this.pubDate != null) |
| return this.pubDate.toDisplay(); |
| return null; |
| }; |
| |
| public void setAuthor (String author) { |
| this.author = author; |
| }; |
| |
| public String getAuthor () { |
| return this.author; |
| }; |
| |
| public void setTextClass (String textClass) { |
| this.textClass = textClass; |
| }; |
| |
| public String getTextClass () { |
| return this.textClass; |
| }; |
| |
| public void setPubPlace (String pubPlace) { |
| this.pubPlace = pubPlace; |
| }; |
| |
| public String getPubPlace () { |
| return this.pubPlace; |
| }; |
| |
| public void setCorpusID (String corpusID) { |
| this.corpusID = corpusID; |
| }; |
| |
| @JsonProperty("corpusID") |
| public String getCorpusID () { |
| return this.corpusID; |
| }; |
| |
| public void setID (String ID) { |
| this.ID = ID; |
| }; |
| |
| @JsonProperty("ID") |
| public String getID () { |
| return this.ID; |
| }; |
| |
| public void setTitle (String title) { |
| this.title = title; |
| }; |
| |
| public String getTitle () { |
| return this.title; |
| }; |
| |
| public void setSubTitle (String subTitle) { |
| this.subTitle = subTitle; |
| }; |
| |
| public String getSubTitle () { |
| return this.subTitle; |
| }; |
| |
| @JsonIgnore |
| public void setPrimaryData (String primary) { |
| this.primaryData = new KorapPrimaryData(primary); |
| }; |
| |
| public void setPrimaryData (KorapPrimaryData primary) { |
| this.primaryData = primary; |
| }; |
| |
| public String getPrimaryData () { |
| if (this.primaryData == null) |
| return ""; |
| return this.primaryData.toString(); |
| }; |
| |
| public String getPrimaryData (int startOffset) { |
| return this.primaryData.substring(startOffset); |
| }; |
| |
| public String getPrimaryData (int startOffset, int endOffset) { |
| return this.primaryData.substring(startOffset, endOffset); |
| }; |
| |
| @JsonIgnore |
| public int getPrimaryDataLength () { |
| return this.primaryData.length(); |
| }; |
| |
| public void setFoundries (String foundries) { |
| this.foundries = foundries; |
| }; |
| |
| public String getFoundries () { |
| return this.foundries; |
| }; |
| |
| public void setTokenization (String tokenization) { |
| this.tokenization = tokenization; |
| }; |
| |
| public String getTokenization () { |
| return this.tokenization; |
| }; |
| |
| public void setLayerInfo (String layerInfo) { |
| this.layerInfo = layerInfo; |
| }; |
| |
| public String getLayerInfo () { |
| return this.layerInfo; |
| }; |
| |
| public void setField (String field) { |
| this.field = field; |
| }; |
| |
| public String getField () { |
| return this.field; |
| }; |
| }; |