See: Description
| Class | Description | 
|---|---|
| ChangeEventSource | Implements the registry of ChangeListeners. | 
| ClientSetting | The  ClientSettingclass 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 | DocRecordclass. | 
| DocumentExtensions.ExtInfo | ExtInfoclass. | 
| DTCache | The  DTCacheis 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  Recognizerclass 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 | Migratorresponsible 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());
  }
}