/******************************************************************************* * Copyright (c) 2005, 2011 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.eclipse.jdt.internal.debug.core.refactoring; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.debug.core.IJavaLineBreakpoint; /** * Specialization of a {@link BreakpointChange} * @since 3.2 */ public abstract class LineBreakpointChange extends BreakpointChange { private int fCharEnd, fCharStart, fLineNumber; private boolean fConditionEnabled, fConditionSuspendOnTrue; private String fCondition; /** * Constructor * @param breakpoint * @throws CoreException */ public LineBreakpointChange(IJavaLineBreakpoint breakpoint) throws CoreException { super(breakpoint); fCharEnd = breakpoint.getCharEnd(); fCharStart = breakpoint.getCharStart(); fLineNumber = breakpoint.getLineNumber(); if (breakpoint.supportsCondition()) { fCondition = breakpoint.getCondition(); fConditionEnabled = breakpoint.isConditionEnabled(); fConditionSuspendOnTrue = breakpoint.isConditionSuspendOnTrue(); } } /** * Applies the original attributes to the new breakpoint * @param breakpoint * @throws CoreException */ protected void apply(IJavaLineBreakpoint breakpoint) throws CoreException { super.apply(breakpoint); if (breakpoint.supportsCondition()) { breakpoint.setCondition(fCondition); breakpoint.setConditionEnabled(fConditionEnabled); breakpoint.setConditionSuspendOnTrue(fConditionSuspendOnTrue); } } /** * @see org.eclipse.jdt.internal.debug.core.refactoring.BreakpointChange#getLineNumber() */ @Override protected int getLineNumber() { return fLineNumber; } /** * Returns the char end attribute of the underlying line breakpoint * @return the char end attribute of the underlying line breakpoint */ protected int getCharEnd() { return fCharEnd; } /** * Returns the char start attribute of the underlying line breakpoint * @return the char start attribute of the underlying line breakpoint */ protected int getCharStart() { return fCharStart; } }