Copyright (c) 2000, 2006 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, 2006 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.text.edits; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument;
Text edit to replace a range in a document with a different string.
Since:3.0
/** * Text edit to replace a range in a document with a different * string. * * @since 3.0 */
public final class ReplaceEdit extends TextEdit { private String fText;
Constructs a new replace edit.
Params:
  • offset – the offset of the range to replace
  • length – the length of the range to replace
  • text – the new text
/** * Constructs a new replace edit. * * @param offset the offset of the range to replace * @param length the length of the range to replace * @param text the new text */
public ReplaceEdit(int offset, int length, String text) { super(offset, length); Assert.isNotNull(text); fText= text; } /* * Copy constructor * * @param other the edit to copy from */ private ReplaceEdit(ReplaceEdit other) { super(other); fText= other.fText; }
Returns the new text replacing the text denoted by the edit.
Returns:the edit's text.
/** * Returns the new text replacing the text denoted * by the edit. * * @return the edit's text. */
public String getText() { return fText; } @Override protected TextEdit doCopy() { return new ReplaceEdit(this); } @Override protected void accept0(TextEditVisitor visitor) { boolean visitChildren= visitor.visit(this); if (visitChildren) { acceptChildren(visitor); } } @Override int performDocumentUpdating(IDocument document) throws BadLocationException { document.replace(getOffset(), getLength(), fText); fDelta= fText.length() - getLength(); return fDelta; } @Override boolean deleteChildren() { return true; } @Override void internalToString(StringBuilder buffer, int indent) { super.internalToString(buffer, indent); buffer.append(" <<").append(fText); //$NON-NLS-1$ } }