1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 14:12:10 +02:00

Cleanup: Fix Terminal API Markup part 2

Mark Terminal Interfaces as @noextend @noimplement where implementation
doesn't make sense (since it's just constants or an abstract base class
exists for extending). This helps giving room for safely extending 
Terminal interfaces in a backward-compatible way in the future, by
leveraging Eclipse API Tooling.

Change-Id: Ia5a99f9379ddd73dd58afe4dec4540ae24633b09
Signed-off-by: Martin Oberhuber <martin.oberhuber@windriver.com>
This commit is contained in:
Martin Oberhuber 2015-09-10 18:15:27 +02:00
parent 1a1bcf774b
commit 02cf48046f
11 changed files with 48 additions and 3 deletions

View file

@ -26,6 +26,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
/**
* @author Michael Scharf
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface ITerminalViewControl {

View file

@ -12,6 +12,12 @@
*******************************************************************************/
package org.eclipse.tm.internal.terminal.preferences;
/**
* Constants for Terminal Preferences.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface ITerminalConstants {
public static final String PREF_HAS_MIGRATED = "TerminalPref.migrated"; //$NON-NLS-1$

View file

@ -18,15 +18,21 @@ import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin;
/**
* Terminal Preference Initializer.
*
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
* @noreference This class is not intended to be referenced by clients.
*/
public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer {
public TerminalPreferenceInitializer() {
}
public void initializeDefaultPreferences() {
//DefaultScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back
//IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID);
IEclipsePreferences defaultPrefs = new DefaultScope().getNode(TerminalPlugin.PLUGIN_ID);
//DefaultScope.INSTANCE was added in Eclipse 3.7
IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID);
defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS);
defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES);
}

View file

@ -26,6 +26,13 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
/**
* Terminal Preference Page.
*
* @noextend This class is not intended to be subclassed by clients.
* @noinstantiate This class is not intended to be instantiated by clients.
* @noreference This class is not intended to be referenced by clients.
*/
public class TerminalPreferencePage extends FieldEditorPreferencePage implements
IWorkbenchPreferencePage {
protected BooleanFieldEditor fInvertColors;

View file

@ -14,6 +14,9 @@ import org.eclipse.tm.terminal.view.ui.activator.UIPlugin;
/**
* UI Context help id definitions.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface IContextHelpIds {

View file

@ -15,9 +15,14 @@ import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel;
/**
* Terminal launcher configuration panel.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
* Clients should extend {@link AbstractConfigurationPanel} instead.
*/
public interface IConfigurationPanel extends IMessageProvider {

View file

@ -13,6 +13,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces;
/**
* A container to deal with configuration panels.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface IConfigurationPanelContainer {

View file

@ -16,9 +16,14 @@ import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IExecutableExtension;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService;
import org.eclipse.tm.terminal.view.ui.launcher.AbstractLauncherDelegate;
/**
* Terminal launcher delegate.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
* Clients should extend {@link AbstractLauncherDelegate} instead.
*/
public interface ILauncherDelegate extends IExecutableExtension, IAdaptable {

View file

@ -14,6 +14,9 @@ import org.eclipse.ui.IViewPart;
/**
* Terminal view public interface.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface ITerminalsView extends IViewPart {

View file

@ -11,6 +11,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces;
/**
* Terminal common UI constants.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface IUIConstants {
/**

View file

@ -11,6 +11,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces.tracing;
/**
* Core plug-in trace slot identifiers.
*
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface ITraceIds {