package org.bbaw.wsp.cms.document;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Hashtable;
import de.mpg.mpiwg.berlin.mpdl.lt.text.tokenize.XmlTokenizerContentHandler;
public class MetadataRecord {
private String docId; // local id: document identifier in index system, e.g. /echo/la/Benedetti_1585.xml
private String identifier; // local id: identifier field in documents metadata: e.g. /echo:echo/echo:metadata/dcterms:identifier
private String uri; // global id: document URI (uniform resource identifier), e.g. http://de.wikipedia.org/wiki/Ramones
private String webUri; // web url, e.g. "http://telota.bbaw.de/ig/IG I3 501"
private String language;
private String creator; // author
private String title;
private String description; // abstract etc.
private String subject; // subject keywords from the title or description or content or subject lists (thesaurus etc.)
private String ddc; // Dewey Decimal Classification
private String swd; // Schlagwortnormdatei
private String publisher; // publisher with place: e.g. Springer, New York
private String type; // mime type: e.g. text/xml // TODO ist eigentlich das Feld "format" --> zus. instance variable "format" definieren
private String rights; // e.g. open access
private Date date; // creation date, modification date, etc.
private String license; // e.g. http://echo.mpiwg-berlin.mpg.de/policy/oa_basics/declaration
private String accessRights; // e.g. free
private String urn; // e.g. the KOBV urn, e.g. urn:nbn:de:kobv:b4360-10020
private String documentType; // e.g. the KOBV "Dokumentenart"
private String isbn; // e.g. the KOBV ISBN
private Date creationDate; // e.g. the KOBV "Erstellungsjahr"
private Date publishingDate; // e.g. the KOBV "Publikationsdatum"
private String collectionNames; // e.g. "edoc"
private String tokenOrig; // original fulltext token of the documents fulltext
private String tokenReg; // regularized fulltext token of the documents fulltext
private String tokenNorm; // normalized fulltext token of the documents fulltext
private String tokenMorph; // morphological fulltext token of the documents fulltext
private String contentXml; // original xml content of the documents file
private String content; // original text content of the documents file (without xml tags)
private ArrayList<XmlTokenizerContentHandler.Element> xmlElements; // elements of the xml documents
private String schemaName; // e.g. TEI, echo, html, or archimedes
private Date lastModified;
private int pageCount;
private String persons;
private String places;
private Hashtable<String, XQuery> xQueries; // dynamic xQueries of xml documents (with name, code, result)
private String realDocUrl; // e.g. the URL to the eDoc (not the index.html)
private String inPublication; // e.g. the KOBV publication (in: ...)
public String getRealDocUrl() {
return realDocUrl;
}
public void setRealDocUrl(String realDocUrl) {
this.realDocUrl = realDocUrl;
}
public String getDocumentType() {
return documentType;
}
public void setDocumentType(String documentType) {
this.documentType = documentType;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public Date getCreationDate() {
return creationDate;
}
public void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}
public Date getPublishingDate() {
return publishingDate;
}
public void setPublishingDate(Date publishingDate) {
this.publishingDate = publishingDate;
}
public String getSwd() {
return swd;
}
public void setSwd(String swd) {
this.swd = swd;
}
public String getDdc() {
return ddc;
}
public void setDdc(String ddc) {
this.ddc = ddc;
}
public String getUrn() {
return urn;
}
public void setUrn(String urn) {
this.urn = urn;
}
public String getDocId() {
return docId;
}
public void setDocId(String docId) {
this.docId = docId;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public String getRights() {
return rights;
}
public void setRights(String rights) {
this.rights = rights;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public String getLicense() {
return license;
}
public void setLicense(String license) {
this.license = license;
}
public String getAccessRights() {
return accessRights;
}
public void setAccessRights(String accessRights) {
this.accessRights = accessRights;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getYear() {
String year = null;
if (date != null) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int iYear = cal.get(Calendar.YEAR);
year = "" + iYear;
}
return year;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getCollectionNames() {
return collectionNames;
}
public void setCollectionNames(String collectionNames) {
this.collectionNames = collectionNames;
}
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getTokenOrig() {
return tokenOrig;
}
public void setTokenOrig(String tokenOrig) {
this.tokenOrig = tokenOrig;
}
public String getTokenReg() {
return tokenReg;
}
public void setTokenReg(String tokenReg) {
this.tokenReg = tokenReg;
}
public String getTokenNorm() {
return tokenNorm;
}
public void setTokenNorm(String tokenNorm) {
this.tokenNorm = tokenNorm;
}
public String getTokenMorph() {
return tokenMorph;
}
public void setTokenMorph(String tokenMorph) {
this.tokenMorph = tokenMorph;
}
public String getContentXml() {
return contentXml;
}
public void setContentXml(String contentXml) {
this.contentXml = contentXml;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public ArrayList<XmlTokenizerContentHandler.Element> getXmlElements() {
return xmlElements;
}
public void setXmlElements(
ArrayList<XmlTokenizerContentHandler.Element> xmlElements) {
this.xmlElements = xmlElements;
}
public String getSchemaName() {
return schemaName;
}
public void setSchemaName(String schemaName) {
this.schemaName = schemaName;
}
public Date getLastModified() {
return lastModified;
}
public void setLastModified(Date lastModified) {
this.lastModified = lastModified;
}
public String getPersons() {
return persons;
}
public void setPersons(String persons) {
this.persons = persons;
}
public String getPlaces() {
return places;
}
public void setPlaces(String places) {
this.places = places;
}
public String getWebUri() {
return webUri;
}
public void setWebUri(String webUri) {
this.webUri = webUri;
}
public Hashtable<String, XQuery> getxQueries() {
return xQueries;
}
public void setxQueries(Hashtable<String, XQuery> xQueries) {
this.xQueries = xQueries;
}
public String getInPublication() {
return inPublication;
}
public void setInPublication(String inPublication) {
this.inPublication = inPublication;
}
@Override
public String toString() {
return "MetadataRecord [docId=" + docId + ", identifier=" + identifier + ", uri=" + uri + ", language=" + language + ", creator=" + creator + ", title=" + title + ", description=" + description + ", subject=" + subject + ", ddc=" + ddc + ", swd=" + swd + ", publisher=" + publisher + ", type=" + type + ", rights=" + rights + ", date=" + date + ", license=" + license + ", accessRights=" + accessRights + ", collectionNames=" + collectionNames + ", schemaName=" + schemaName + ", lastModified=" + lastModified + ", pageCount=" + pageCount + ", persons=" + persons + ", places=" + places + ", urn=" + urn + ", documentType=" + documentType + ", isbn=" + isbn + ", creationDate=" + creationDate + ", publishingDate=" + publishingDate + "]";
}
}