See: Description
| Class | Description | 
|---|---|
| ChangeEventSource | 
 Implements the registry of ChangeListeners. 
 | 
| ClientSetting | 
 The  
ClientSetting class provides a default object 
 store that can be used to save and open extension specific data. | 
| DocumentExtensions | Deprecated
 not replaced; file type settings are not for public consumption. 
 | 
| DocumentExtensions.DocRecord | 
DocRecord class. | 
| DocumentExtensions.ExtInfo | 
ExtInfo class. | 
| DTCache | 
 The  
DTCache is a persisted cache that can be used to
 store data that is not user-configurable. | 
| DTCacheMigrator | |
| EnvironOptions | 
 This class stores the IDE environment options. 
 | 
| ExtensionSettingsPage | |
| ExtensionSettingsUI | 
 Settings UI information from the extension manifest. 
 | 
| FileAssociations | 
 Accessor methods for setting file associations in the Windows Registry. 
 | 
| FileTypesRecognizer | 
 A  
Recognizer class for custom file type mappings that also provides
 extensions with consolidated information on file type registrations. | 
| GlobalIgnoreList | 
 This class stores the IDE Global Ignore list. 
 | 
| IdeSettings | 
 IdeSettings provides access to the preferences framework. 
 | 
| IdeSettingsMigrator | 
Migrator responsible for migrating user IDE keystroke settings from a
 previous installation to the current installation. | 
| PlatformProperties | 
 This class is used internally by the framework to overload
 IDE properties with platform specific values. 
 | 
| PreferenceDefaultsHook | 
 Hook for preference defaults customization. 
 | 
| Preferences | 
 Class that represents shapeable Preferences. 
 | 
| ProjectDefaultsHook | 
 Hook for project defaults customization. 
 | 
| RegisteredDynamicNode | Deprecated
 not replaced. 
 | 
| SettingsCustomizations | 
 Provides access to settings customizations registered by a product or
 role. 
 | 
| SettingsFieldCustomizations | 
 Customizations for a specific field. 
 | 
| SettingsPageCustomizationHelper | 
 A helper for handling settings page customization. 
 | 
| SettingsUICustomizationsHook | |
| SettingsUIHook | 
 Settings UI hook. 
 | 
| SettingsUIRegistry | 
 The settings UI registry provides access to information gathered from
 extension manifests and roles about settings UI. 
 | 
Related Documentation
See Extending JDeveloper Using the Addin API for detailed information.
package mypackage;
import oracle.ide.config.ChangeEventSource;
import oracle.ide.util.Copyable;
public class MyConfigOptions extends ChangeEventSource
    implements Copyable
{
  public static final String KEY = "MyConfigOptions";
  private boolean _myOption;
  public boolean getMyOption()
  {
    return _myOption;
  }
  public void setMyOption( boolean myOption )
  {
    _myOption = myOption;
  }
  public Object copyTo( Object target )
  {
    final MyConfigOptions other = ( target != null ) ? (MyConfigOptions) target: new MyConfigOptions();
    other.setMyOption(getMyOption());
    return other;
  }
}
package mypackage;
import java.awt.BorderLayout;
import javax.swing.JCheckBox;
import oracle.ide.Ide;
import oracle.ide.config.IdeSettings;
import oracle.ide.panels.DefaultTraversablePanel;
import oracle.ide.panels.Navigable;
import oracle.ide.panels.TraversableContext;
public class MyConfigPanel extends DefaultTraversablePanel
{
  private JCheckBox _myCheckBox;
  public static final void registerPanel()
  {
    IdeSettings ideSettings = Ide.getSettings();
    if ( ideSettings.getData(MyConfigOptions.KEY) == null )
    {
      ideSettings.putData(MyConfigOptions.KEY, new MyConfigOptions());
    }
    Navigable myNavigable = new Navigable("My Options", MyConfigPanel.class);
    // To register a top level panel
    IdeSettings.registerUI(myNavigable);
//  To register a child of another Navigable:
//  Navigable parentNavigable = null;
//  parentNavigable.addChildNavigable(myNavigable);
  }
  public MyConfigPanel()
  {
    setLayout(new BorderLayout());
    _myCheckBox = new JCheckBox("My Option:", true);
    add(_myCheckBox, BorderLayout.CENTER);
  }
  public void onEntry( TraversableContext tc )
  {
    final MyConfigOptions options = (MyConfigOptions) tc.find( MyConfigOptions.KEY );
    _myCheckBox.setSelected(options.getMyOption());
  }
  public void onExit( TraversableContext tc )
  {
    final MyConfigOptions options =(MyConfigOptions) tc.find( MyConfigOptions.KEY );
    options.setMyOption(_myCheckBox.isSelected());
  }
}