Mercurial > hg > anteater
view src/de/mpiwg/anteater/text/TextPart.java @ 0:036535fcd179
anteater
author | jdamerow |
---|---|
date | Fri, 14 Sep 2012 10:30:43 +0200 |
parents | |
children |
line wrap: on
line source
package de.mpiwg.anteater.text; import java.util.ArrayList; import java.util.List; public class TextPart { private int type; private int textIdx; private List<Paragraph> paragraphs; private String text; private String date; public int getType() { return type; } public void setType(int type) { this.type = type; } public int getTextIdx() { return textIdx; } public void setTextIdx(int textIdx) { this.textIdx = textIdx; } public List<Paragraph> getParagraphsOfInterest() { List<Paragraph> paragraphsOfInterest = new ArrayList<Paragraph>(); for (Paragraph p : paragraphs) if (p.getParagraphType() != ParagraphType.TYPE_SIGNATURE) paragraphsOfInterest.add(p); return paragraphsOfInterest; } public List<Paragraph> getParagraphs() { return paragraphs; } public void setParagraphs(List<Paragraph> paragraphs) { this.paragraphs = paragraphs; } public String getText() { if (text == null) { StringBuffer sb = new StringBuffer(); for (Paragraph p : getParagraphsOfInterest()) { sb.append(p.getParagraphText() + "\n"); } text = sb.toString(); } return text; } public int getPositionInTextFromParagraph(Paragraph paragraph, int posInParagraph) { int textcounter = 0; for (Paragraph para : paragraphs) { if (para != paragraph) { textcounter += para.getParagraphText().length() + 1; } else { textcounter += posInParagraph; break; } } return textcounter; } public int getPositionInParagraphFromText(int posInText) { int textcounter = 0; for (Paragraph para : paragraphs) { int paraLength = para.getParagraphText().length() + 1; if (posInText >= textcounter + paraLength) textcounter += paraLength; else return posInText - textcounter; } return -1; } public Paragraph getParagraphOfIndex(int posInText) { int textcounter = 0; for (Paragraph para : paragraphs) { int paraLength = para.getParagraphText().length() + 1; if (posInText >= textcounter + paraLength) textcounter += paraLength; else return para; } return null; } public void setDate(String date) { this.date = date; } public String getDate() { return date; } }