package com.vistatec.ocelot.segment.model; import java.util.List; import com.vistatec.ocelot.segment.view.SegmentTextCell; public class PositionAtom implements SegmentAtom { private final BaseSegmentVariant bsv; public PositionAtom(BaseSegmentVariant bsv) { this.bsv = bsv; } public int getPosition() { List<SegmentAtom> atoms = bsv.getAtoms(); int pos = 0; for (SegmentAtom atom : atoms) { if (atom == this) { return pos; } else { pos += atom.getLength(); } } throw new IllegalStateException("This PositionAtom is no longer associated with its parent SegmentVariant."); } @Override public int getLength() { return 0; } @Override public String getData() { return ""; } @Override public String getTextStyle() { return SegmentTextCell.regularStyle; } }