package com.vistatec.ocelot.segment.model;
import java.util.ArrayList;
import java.util.List;
import com.vistatec.ocelot.segment.model.enrichment.Enrichment;
import com.vistatec.ocelot.segment.view.SegmentTextCell;
public class EnrichedAtom extends TextAtom {
private List<Enrichment> enrichments;
private int startIndex;
private int endIndex;
public EnrichedAtom(final String text, final List<Enrichment> enrichments) {
super(text);
this.enrichments = enrichments;
}
public EnrichedAtom(final String text) {
super(text);
}
public void addEnrichment(final Enrichment enrichment){
if (enrichments == null) {
enrichments = new ArrayList<Enrichment>();
}
enrichments.add(enrichment);
if (startIndex == -1 || startIndex > enrichment.getOffsetStartIdx()) {
startIndex = enrichment.getOffsetStartIdx();
}
if (endIndex == -1 || endIndex < enrichment.getOffsetEndIdx()) {
endIndex = enrichment.getOffsetEndIdx();
}
}
@Override
public String getTextStyle() {
return SegmentTextCell.enrichedStyle;
}
public List<Enrichment> getEnrichments(){
return enrichments;
}
public boolean containsOffset(final int offestStartIdx) {
return offestStartIdx >= startIndex && offestStartIdx <= endIndex;
}
}