package lemmaextractor.results; import java.util.ArrayList; /** * Klasa przetrzymująca informacje uzyskane po przetworzeniu zadanego tekstu. * Zawiera inforamcje o języku przetwarzania, lematach i nazwach własnych. */ public class Result { private String language; ArrayList lemmas; ArrayList namedEntities; public Result(String lang) { language = lang; lemmas = new ArrayList(); namedEntities = new ArrayList(); } /** * Dodaje lemat. */ public void addLemma(String text, int start, int end) { lemmas.add(new Lemma(text, start, end)); } /** * Dodaje nazwe własną. */ public void addNamedEntity(String namedEntityForm, String namedEntityLemma, ArrayList indices) { namedEntities.add(new NamedEntity(namedEntityForm, namedEntityLemma, indices)); } /** * Zwraca język dla którego wykonane zostało przetwarzanie. * * @return język */ public String getLanguage() { return language; } /** * Zwraca sekwencję lematów. * * @return lista obiektów klasy Lemma */ public ArrayList getLemmas() { return lemmas; } /** * Zwraca sekwencję nazw własnych. * * @return Lista obiektów klasy NamedEntity */ public ArrayList getNamedEntities() { return namedEntities; } /** * Zwraca sekwencję nazw własnych. * * @return Lista obiektów klasy NamedEntity */ public ArrayList getNamedEntityLemmas(NamedEntity namedEntity) { int first = namedEntity.indices.get(0); int last = namedEntity.indices.get(namedEntity.indices.size()-1); return (ArrayList) lemmas.subList(first, last + 1); } /** * Zwraca początkową pozycję nazwy własnej w tekście. * * @return początkowa pozycja nazwy własnej w tekście. */ public int getNamedEntityStart(NamedEntity namedEntity) { return lemmas.get(namedEntity.indices.get(0)).start; } /** * Zwraca koncową pozycję nazwy własnej w tekście. * * @return końcowa pozycja nazwy własnej w tekście. */ public int getNamedEntityEnd(NamedEntity namedEntity) { return lemmas.get(namedEntity.indices.get(namedEntity.indices.size()-1)).end; } }