/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.editor;
import javax.swing.text.BadLocationException;
import javax.swing.text.Position;
/**
* Position in document. This is enhanced version of
* Swing <CODE>Position</CODE> interface. It supports
* insert after feature. If Position has
* <CODE>insertAfter</CODE> flag set and text is inserted
* right at the mark's position, the position will NOT move.
*
* @author Miloslav Metelka
* @version 1.00
*/
class BasePosition implements Position {
/** The mark that serves this position */
private MultiMark mark;
BasePosition(MultiMark mark) throws BadLocationException {
this.mark = mark;
}
/** Get offset in document for this position */
public int getOffset() {
return mark.getOffset();
}
/** Remove mark in finalize method */
protected void finalize() throws Throwable {
mark.dispose();
super.finalize();
}
}