view software/mpdl-services/mpiwg-mpdl-lt/src/de/mpg/mpiwg/berlin/mpdl/lt/text/reg/Regularization.java @ 19:4a3641ae14d2

Erstellung
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Wed, 09 Nov 2011 15:32:05 +0100
parents
children
line wrap: on
line source

package de.mpg.mpiwg.berlin.mpdl.lt.text.reg;

import de.mpg.mpiwg.berlin.mpdl.exception.ApplicationException;
import de.mpg.mpiwg.berlin.mpdl.util.StringUtils;
import de.mpg.mpiwg.berlin.mpdl.xml.xquery.XQueryEvaluator;

public class Regularization {
  private String language;
  private String orig;
  private String norm;
  private String source;
  private int sourcePosition;

  public Regularization(String language, String orig, String norm, String source) {
    this.language = language;
    this.orig = orig;
    this.norm = norm;
    this.source = source;
  }

  public static Regularization getInstance(String xmlStr) throws ApplicationException {
    XQueryEvaluator xQueryEvaluator = new XQueryEvaluator();
    String language = xQueryEvaluator.evaluateAsStringValue(xmlStr, "//language");
    String orig = xQueryEvaluator.evaluateAsStringValue(xmlStr, "//orig");
    String norm = xQueryEvaluator.evaluateAsStringValue(xmlStr, "//norm");
    String source = xQueryEvaluator.evaluateAsStringValue(xmlStr, "//source");
    String sourcePosStr = xQueryEvaluator.evaluateAsStringValue(xmlStr, "//source/@position");
    int sourcePos = new Integer(sourcePosStr);
    Regularization reg = new Regularization(language, orig, norm, source);
    reg.setSourcePosition(sourcePos);
    return reg;
  }
  
  public String getLanguage() {
    return language;
  }

  public void setLanguage(String language) {
    this.language = language;
  }

  public String getOrig() {
    return orig;
  }

  public void setOrig(String orig) {
    this.orig = orig;
  }

  public String getNorm() {
    return norm;
  }

  public void setNorm(String norm) {
    this.norm = norm;
  }

  public String getSource() {
    return source;
  }

  public void setSource(String source) {
    this.source = source;
  }

  public int getSourcePosition() {
    return sourcePosition;
  }

  public void setSourcePosition(int sourcePosition) {
    this.sourcePosition = sourcePosition;
  }

  public String getXmlString() {
    String xmlString = "<reg>\n";
    if (language != null)
      xmlString += "  <language>" + language + "</language>\n";
    if (orig != null)
      xmlString += "  <orig>" + StringUtils.deresolveXmlEntities(orig) + "</orig>\n";
    if (norm != null)
      xmlString += "  <norm>" + StringUtils.deresolveXmlEntities(norm) + "</norm>\n";
    if (source != null)
      xmlString += "  <source position=\"" + sourcePosition + "\">" + StringUtils.deresolveXmlEntities(source) + "</source>\n";
    xmlString += "</reg>\n";
    return xmlString;
  }

  
}