/******************************************************************************* * Copyright (c) 2000, 2007 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 * *******************************************************************************/ package org.eclipse.dltk.internal.corext.refactoring.tagging; /** * Interface for refactorings which are able to create appropriate delegates for * the refactored elements. */ public interface IDelegateUpdating { /** * Performs a dynamic check whether this refactoring object is capable of * creating appropriate delegates for the refactored elements. The return * value of this method may change according to the state of the * refactoring. */ public boolean canEnableDelegateUpdating(); /** * If <code>canEnableDelegateUpdating</code> returns <code>true</code>, then * this method is used to ask the refactoring object whether delegates will * be created. This call can be ignored if * <code>canEnableDelegateUpdating</code> returns <code>false</code>. */ public boolean getDelegateUpdating(); /** * Returns the title of the preference to update delegates in the user * interface. * * @param plural * <code>true</code> if several delegates are created, * <code>false</code> otherwise * @return the non-null string denoting the title */ public String getDelegateUpdatingTitle(boolean plural); /** * If <code>canEnableDelegateUpdating</code> returns <code>true</code>, then * this method is used to ask the refactoring object whether delegates will * be deprecated. This call can be ignored if * <code>canEnableDelegateUpdating</code> returns <code>false</code>. */ public boolean getDeprecateDelegates(); /** * If <code>canEnableDelegateUpdating</code> returns <code>true</code>, then * this method may be called to set whether to create delegates. This call * can be ignored if <code>canEnableDelegateUpdating</code> returns * <code>false</code>. */ public void setDelegateUpdating(boolean updating); /** * If <code>canEnableDelegateUpdating</code> returns <code>true</code>, then * this method may be called to set whether to deprecate delegates. This * call can be ignored if <code>canEnableDelegateUpdating</code> returns * <code>false</code>. */ public void setDeprecateDelegates(boolean deprecate); }