blob: 587871bbcca14657f0b039b88049af1af643038e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2006 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.corext.refactoring.tagging;
/**
* Interface for refactorings which are able to create
* appropriate delegates for the refactored elements.
*
* @since 3.2
*
*/
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);
}