Copyright (c) 2000, 2010 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2010 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.jdt.core; import java.util.EventObject;
A buffer changed event describes how a buffer has changed. These events are used in IBufferChangedListener notifications.

For text insertions, getOffset is the offset of the first inserted character, getText is the inserted text, and getLength is 0.

For text removals, getOffset is the offset of the first removed character, getText is null, and getLength is the length of the text that was removed.

For replacements (including IBuffer.setContents), getOffset is the offset of the first replaced character, getText is the replacement text, and getLength is the length of the original text that was replaced.

When a buffer is closed, getOffset is 0, getLength is 0, and getText is null.

See Also:
  • IBuffer
@noextendThis class is not intended to be subclassed by clients.
/** * A buffer changed event describes how a buffer has changed. These events are * used in <code>IBufferChangedListener</code> notifications. * <p> * For text insertions, <code>getOffset</code> is the offset * of the first inserted character, <code>getText</code> is the * inserted text, and <code>getLength</code> is 0. * </p> * <p> * For text removals, <code>getOffset</code> is the offset * of the first removed character, <code>getText</code> is <code>null</code>, * and <code>getLength</code> is the length of the text that was removed. * </p> * <p> * For replacements (including <code>IBuffer.setContents</code>), * <code>getOffset</code> is the offset * of the first replaced character, <code>getText</code> is the replacement * text, and <code>getLength</code> is the length of the original text * that was replaced. * </p> * <p> * When a buffer is closed, <code>getOffset</code> is 0, <code>getLength</code> * is 0, and <code>getText</code> is <code>null</code>. * </p> * * @see IBuffer * @noextend This class is not intended to be subclassed by clients. */
public class BufferChangedEvent extends EventObject {
The length of text that has been modified in the buffer.
/** * The length of text that has been modified in the buffer. */
private int length;
The offset into the buffer where the modification took place.
/** * The offset into the buffer where the modification took place. */
private int offset;
The text that was modified.
/** * The text that was modified. */
private String text; private static final long serialVersionUID = 655379473891745999L; // backward compatible
Creates a new buffer changed event indicating that the given buffer has changed.
Params:
  • buffer – the given buffer
  • offset – the given offset
  • length – the given length
  • text – the given text
/** * Creates a new buffer changed event indicating that the given buffer has changed. * * @param buffer the given buffer * @param offset the given offset * @param length the given length * @param text the given text */
public BufferChangedEvent(IBuffer buffer, int offset, int length, String text) { super(buffer); this.offset = offset; this.length = length; this.text = text; }
Returns the buffer which has changed.
Returns:the buffer affected by the change
/** * Returns the buffer which has changed. * * @return the buffer affected by the change */
public IBuffer getBuffer() { return (IBuffer) this.source; }
Returns the length of text removed or replaced in the buffer, or 0 if text has been inserted into the buffer.
Returns:the length of the original text fragment modified by the buffer change ( 0 in case of insertion).
/** * Returns the length of text removed or replaced in the buffer, or * 0 if text has been inserted into the buffer. * * @return the length of the original text fragment modified by the * buffer change (<code> 0 </code> in case of insertion). */
public int getLength() { return this.length; }
Returns the index of the first character inserted, removed, or replaced in the buffer.
Returns:the source offset of the textual manipulation in the buffer
/** * Returns the index of the first character inserted, removed, or replaced * in the buffer. * * @return the source offset of the textual manipulation in the buffer */
public int getOffset() { return this.offset; }
Returns the text that was inserted, the replacement text, or null if text has been removed.
Returns:the text corresponding to the buffer change ( null in case of deletion).
/** * Returns the text that was inserted, the replacement text, * or <code>null</code> if text has been removed. * * @return the text corresponding to the buffer change (<code> null </code> * in case of deletion). */
public String getText() { return this.text; } }