public void getChars(int where, int len, Segment txt) throws BadLocationException { CharBuffer b = buffer; int start = b.getSegment(where, len); if (start < 0) throw new BadLocationException("invalid offset", where); txt.offset = start; txt.array = b.getArray(); txt.count = len; }
public SwingContent(int initialSize) { CharBuffer b = new CharBuffer(initialSize); // Swing assumes that a Content object is initialized to contain // a single '\n'. This of course is not clearly documented ... b.gapEnd = initialSize - 1; b.getArray()[b.gapEnd] = '\n'; this.buffer = b; }
public UndoableEdit remove(int where, int nitems) throws BadLocationException { CharBuffer b = buffer; if (nitems < 0 || where < 0 || where + nitems > b.length()) throw new BadLocationException("invalid remove", where); b.delete(where, nitems); GapUndoableEdit undo = new GapUndoableEdit(where); undo.content = this; undo.data = new String(b.getArray(), b.gapEnd - nitems, nitems); undo.nitems = nitems; undo.isInsertion = false; return undo; }
public String getString(int where, int len) throws BadLocationException { CharBuffer b = buffer; int start = b.getSegment(where, len); if (start < 0) throw new BadLocationException("invalid offset", where); return new String(b.getArray(), start, len); }