javadocs
[fedora-idea.git] / xdebugger / openapi / com / intellij / xdebugger / settings / XDebuggerSettings.java
blob34606ec4122bceda4779cbc17427ad5523f13f0d
1 package com.intellij.xdebugger.settings;
3 import com.intellij.openapi.components.PersistentStateComponent;
4 import com.intellij.openapi.extensions.ExtensionPointName;
5 import com.intellij.openapi.options.Configurable;
6 import com.intellij.xdebugger.XDebuggerUtil;
7 import org.jetbrains.annotations.NotNull;
8 import org.jetbrains.annotations.NonNls;
10 /**
11 * Implement this class to provide settings page for debugger. Settings page will be placed under 'Debugger' node in the 'Settings' dialog.
12 * An implementation should be registered in plugin.xml:
13 * <p>
14 * &lt;extensions defaultExtensionNs="com.intellij"&gt;<br>
15 * &nbsp;&nbsp;&lt;xdebugger.settings implementation="qualified-class-name"/&gt;<br>
16 * &lt;/extensions&gt;
18 * @author nik
20 public abstract class XDebuggerSettings<T> implements PersistentStateComponent<T> {
21 public static final ExtensionPointName<XDebuggerSettings> EXTENSION_POINT = ExtensionPointName.create("com.intellij.xdebugger.settings");
22 private final String myId;
24 protected XDebuggerSettings(final @NotNull @NonNls String id) {
25 myId = id;
28 protected static <S extends XDebuggerSettings<?>> S getInstance(Class<S> aClass) {
29 return XDebuggerUtil.getInstance().getDebuggerSettings(aClass);
32 public final String getId() {
33 return myId;
36 @NotNull
37 public abstract Configurable createConfigurable();