EntitiesFactoryImpl.java 4.94 KB
package ipipan.clarin.tei.impl.entities;

import ipipan.clarin.tei.api.entities.AnnotationLayer;
import ipipan.clarin.tei.api.entities.EntitiesFactory;
import ipipan.clarin.tei.api.entities.TEICoreference;
import ipipan.clarin.tei.api.entities.TEICorpusText;
import ipipan.clarin.tei.api.entities.TEIDeepParseChildren;
import ipipan.clarin.tei.api.entities.TEIDeepParseEntity;
import ipipan.clarin.tei.api.entities.TEIDeepParseTree;
import ipipan.clarin.tei.api.entities.TEIGroup;
import ipipan.clarin.tei.api.entities.TEIHeader;
import ipipan.clarin.tei.api.entities.TEIInterpretation;
import ipipan.clarin.tei.api.entities.TEILex;
import ipipan.clarin.tei.api.entities.TEIMention;
import ipipan.clarin.tei.api.entities.TEIMorph;
import ipipan.clarin.tei.api.entities.TEINamedEntity;
import ipipan.clarin.tei.api.entities.TEINamedEntityChild;
import ipipan.clarin.tei.api.entities.TEINamedEntityDerivation;
import ipipan.clarin.tei.api.entities.TEIParagraph;
import ipipan.clarin.tei.api.entities.TEISegment;
import ipipan.clarin.tei.api.entities.TEISentence;
import ipipan.clarin.tei.api.entities.TEISyntacticEntity;
import ipipan.clarin.tei.api.entities.TEIWord;
import ipipan.clarin.tei.api.entities.TEIWordChild;

import java.util.List;
import java.util.Map;

/**
 *
 * @author mlenart
 */
public class EntitiesFactoryImpl extends EntitiesFactory {

	@Override
	public TEICorpusText createCorpusText(String text) {
		throw new UnsupportedOperationException("Not supported yet.");
	}

	@Override
	public TEICorpusText createCorpusText(List<TEIParagraph> pars) {
		TEICorpusTextImpl res = new TEICorpusTextImpl();
		res.setCorpusHeader(createCorpusHeader());
		for (TEIParagraph par : pars) {
			res.addParagraph(par);
		}
		return res;
	}

	@Override
	public TEIHeader createHeader(AnnotationLayer layer) {
		return new TEIHeaderImpl(layer);
	}

	@Override
	public TEIHeader createCorpusHeader() {
		return new TEIHeaderImpl(null);
	}

	@Override
	public TEIInterpretation createInterpretation(String base, String ctag,
			String morph) {
		return new TEIInterpretation(base, ctag, morph);
	}

	@Override
	public TEIParagraph createParagraph(String xmlId,
			TEIParagraph.ParagraphType type, String nAttrVal, String text) {
		return new TEIParagraphImpl(xmlId, type, nAttrVal, text, null);
	}

	@Override
	public TEIParagraph createParagraph(String xmlId,
			TEIParagraph.ParagraphType type, List<TEIParagraph> subparagraphs) {
		return new TEIParagraphImpl(xmlId, type, null, null, subparagraphs);
	}

	@Override
	public TEISentence createSentence(String sentId, List<TEISegment> segs) {
		return new TEISentenceImpl(sentId, segs);
	}

	@Override
	public TEISegment createSegment(TEIParagraph paragraph, String id,
			int offset, int length, boolean nps) {
		return new TEISegmentImpl(paragraph, id, offset, length, nps);
	}

	@Override
	public TEISegment createDummySegment(String id, String orth, boolean nps) {
		return new TEISegmentImpl(id, orth, nps);
	}

	@Override
	public TEIMorph createMorph(String id, TEISegment seg, List<TEILex> lexems) {
		return new TEIMorphImpl(id, seg, seg.getOrth(), seg.hasNps(), lexems);
	}

	@Override
	public TEILex createLex(String id, String base, String ctag,
			Map<String, String> msdMap) {
		return new TEILexImpl(id, base, ctag, msdMap);
	}

	@Override
	public TEINamedEntity createNamedEntity(String id, String orth,
			String type, String subtype, List<TEINamedEntityChild> children) {
		return new TEINamedEntityImpl(id, orth, type, subtype, children);
	}

	@Override
	public TEINamedEntityDerivation createNamedEntityDerivation(String type,
			String from) {
		return new TEINamedEntityDerivationImpl(type, from);
	}

	@Override
	public TEIWord createWord(String id, String orth, TEIInterpretation interp,
			List<TEIWordChild> children) {
		return new TEIWordImpl(id, orth, interp, children);
	}

	@Override
	public TEIGroup createGroup(String id, String orth, String type,
			TEISyntacticEntity synHead, TEISyntacticEntity semHead,
			List<TEISyntacticEntity> children) {
		return new TEIGroupImpl(id, orth, type, synHead, semHead, children);
	}

	@Override
	public TEIMention createMention(String id, List<TEIMorph> morphs,
			List<TEIMorph> heads, boolean isZeroSubject) {
		return new TEIMentionImpl(id, morphs, heads, isZeroSubject);
	}

	@Override
	public TEICoreference createCoreference(String id, String type,
			String dominant, List<TEIMention> mentions, TEIMention sourceMention) {
		return new TEICoreferenceImpl(id, type, dominant, mentions,
				sourceMention);
	}

	@Override
	public TEIDeepParseTree createDeepParseTree(String id, String type,
			String tag, List<TEIDeepParseChildren> childrenVariants) {
		return new TEIDeepParseTreeImpl(id, type, tag, childrenVariants);
	}

	@Override
	public TEIDeepParseChildren createDeepParseChildrenVariant(
			TEIDeepParseEntity head, List<TEIDeepParseEntity> children) {
		return new TEIDeepParseChildrenImpl(head, children);
	}

	@Override
	public TEIMorph createMorph(String id, TEISegment seg) {
		return new TEIMorphImpl(id, seg);
	}
}