/* Copyright (C) 2002 Univ. of Massachusetts Amherst, Computer Science Dept. This file is part of "MALLET" (MAchine Learning for LanguagE Toolkit). http://www.cs.umass.edu/~mccallum/mallet This software is provided under the terms of the Common Public License, version 1.0, as published by http://www.opensource.org. For further information, see the file `LICENSE' included with this distribution. */ /** @author Andrew McCallum <a href="mailto:mccallum@cs.umass.edu">mccallum@cs.umass.edu</a> */ // Rename to Segment, (then also Segmentation, SegmentSequence, SegmentList) // Alternatively, think about names: Annotation, AnnotationList, package cc.mallet.extract; /** A sub-section of a document, either linear or two-dimensional. * Spans are immutable. */ public interface Span { /** Returns a textual representatio of the span, suitable for XML output, e.g. */ String getText (); /** Returns a new span that is the intersection of this span and another. */ Span intersection (Span r); Object getDocument (); boolean intersects (Span r); boolean isSubspan (Span r); /** * Returns an integer index identifying the start of this span. * Beware that in some cases (e.g., for images), this may not * correspond directly to a sequence index. */ int getStartIdx (); /** * Returns an integer index identifying the end of this span. * Beware that in some cases (e.g., for images), this may not * correspond directly to a sequence index. */ int getEndIdx (); }