org.aspectj.org.eclipse.jdt.core.BufferChangedEvent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aspectjtools Show documentation
Show all versions of aspectjtools Show documentation
Tools from the AspectJ project
/*******************************************************************************
* Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.aspectj.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 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.
*/
private int length;
/**
* The offset into the buffer where the modification took place.
*/
private int offset;
/**
* 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.
*
* @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.
*
* @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.
*
* @return the length of the original text fragment modified by the
* buffer change ( 0
in case of insertion).
*/
public int getLength() {
return this.length;
}
/**
* 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.
*
* @return the text corresponding to the buffer change ( null
* in case of deletion).
*/
public String getText() {
return this.text;
}
}