org.unlaxer.Cursor Maven / Gradle / Ivy
package org.unlaxer;
import org.unlaxer.util.NameSpecifier;
public interface Cursor> {
public enum CursorKind{
startInclusive,
endExclusive
}
NameSpecifier getNameSpace();
T setNameSpace(NameSpecifier nameSpace);
LineNumber getLineNumber();
// SubLineNumber getLineNumberOnThisSequence();
T setLineNumber(LineNumber lineNumber);
T incrementLineNumber();
CodePointIndex getPosition();
// SubCodePointIndex getPositionOnThisSequence();
T setPosition(CodePointIndex position);
T incrementPosition();
T addPosition(CodePointOffset adding);
CodePointOffset getPositionInLine();
T setPositionInLine(CodePointOffset positionInLine);
T resolveLineNumber(RootPositionResolver rootPositionResolver);
CursorKind cursorKind();
public interface EndExclusiveCursor extends Cursor{
default CursorKind cursorKind() {
return CursorKind.endExclusive;
}
}
public interface StartInclusiveCursor extends Cursor{
default CursorKind cursorKind() {
return CursorKind.startInclusive;
}
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy