public class IdeSettings extends java.lang.Object implements Copyable
Obtain an instance of IdeSettings using Ide.getSettings()
.
Extension writers should not subclass or create instances of this class
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DATA_KEY
The data key for ide settings.
|
static java.lang.String |
FILENAME
The base filename used to store ide settings.
|
static java.lang.String |
NAMESPACE_URI
The namespace URI for ide settings.
|
static java.lang.String |
ROOT_TAG
The root xml element for ide settings.
|
Constructor and Description |
---|
IdeSettings()
Extension writers should not create instances of IdeSettings.
|
IdeSettings(IdeSettings ideSettings)
Copy constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addClientSetting(ClientSetting setting) |
java.lang.Object |
copyTo(java.lang.Object target)
Copies the internal state of
this object to the
specified copy . |
protected void |
copyToImpl(IdeSettings copy) |
static void |
deregisterUI(Navigable ui)
Deregisters user interface from the Preferences dialog.
|
boolean |
equals(java.lang.Object o) |
protected boolean |
equalsImpl(IdeSettings opt)
This is a helper method for
equals(Object) that can
also be used by subclasses that implement equals(Object) . |
java.lang.Object |
getClass(java.lang.String className,
java.lang.ClassLoader classloader)
Gets the class object associated with the specified
className . |
ClientSetting |
getClientSetting(java.lang.String dataKey)
Gets the client data object associated with the specified
dataKey . |
java.lang.Object |
getData(java.lang.String dataKey)
Gets the data object associated with the specified
dataKey . |
Navigable |
getEnvironNavigable()
Deprecated.
as of 11.0. No replacement. Extensions should not be directly
accessing the Navigable for the Environment page in preferences;
instead you should
|
KeyStrokeOptions |
getKeyStrokeOptions()
Convenience method for getting at one of the built in options.
|
static Navigable[] |
getNavigables()
Deprecated.
since 11.0 with no replacement.
|
boolean |
hasData(java.lang.String dataKey)
Checks if a data object assiciated with the specifid
dataKey
exists. |
int |
hashCode() |
void |
init()
Initializes some core preferences.
|
boolean |
isAskExit()
Returns whether the user should be asked to exit the IDE when the
settings dialog closes.
|
boolean |
load()
Loads the registered data from the XML file.
|
void |
putData(java.lang.String dataKey,
Copyable data)
Deprecated.
Use the
ClientSetting object to put client
specific settings. |
void |
putLegacyData(java.lang.String dataKey,
Copyable data)
Note: This method should only be used by legacy code that is migrating
preferences forward to the Fusion release.
|
void |
register()
Deprecated.
since 11.0 with no replacement. This method no longer does
anything.
|
static void |
registerUI(Navigable ui)
Registers user interface for the Preferences dialog.
|
void |
removeLegacyData(java.lang.String dataKey)
Removes the legacy data at the specified key.
|
boolean |
save()
Saves the registered data to the XML file.
|
void |
setAskExit(boolean askExit)
Sets whether the user should be asked to exit the IDE when the
settings dialog closes.
|
void |
showDialog(java.awt.Frame parent)
Shows the configuration dialog.
|
void |
showDialog(java.awt.Frame parent,
MDDPanel panel,
java.lang.String[] selectionPath)
Shows the configuration dialog.
|
void |
showDialog(java.awt.Frame parent,
java.lang.String[] selectionPath)
Shows the configuration dialog.
|
public static final java.lang.String FILENAME
public static final java.lang.String DATA_KEY
public static final java.lang.String NAMESPACE_URI
public static final java.lang.String ROOT_TAG
public IdeSettings()
Ide.getSettings()
.public IdeSettings(IdeSettings ideSettings)
public void register()
public void init()
This method should not be called by extension developers.
public java.lang.Object copyTo(java.lang.Object target)
Copyable
this
object to the
specified copy
. If copy
is
null
, then this method should create a new instance
of this
class and proceed to copy the internal state
to the newly created object. Generally, only the persistent
state of the object should be copied, but whether or not it is
appropriate to copy transient properties is at the discretion
of the individual implementor.
Regardless of whether the copy occurs to an existing object or to
a newly created object, the return value is object to which
this
object's state was copied.
There is a standard implementation pattern for the
copyTo
method that helps avoid problems that arise
when a Copyable
object is subclassed. The pattern
is:
The parameter passed into thepublic Object copyTo( Object target ) { final <this_class> copy = target != null ? (<this_class>) target : new <this_class>(); copyToImpl( copy ); return copy; } protected final void copyToImpl( <this_class> copy ) { super.copyToImpl( copy ); // if necessary // put code here for copying the properties of <this_class> }
copyToImpl
method is
the same type of this
class. The responsibility of
copyToImpl
is to copy the state of this
class through direct access of the fields. The
copyToImpl
method should not use getters and setters
since these may be overridden, causing the state of
this
class to be incompletely copied.copyTo
in interface Copyable
target
- The target object to which the state of
this
object should be copied. If target
is null
, then the copyTo
method will
return a new instance of this
class.this
object was copied. If the target
was
non-null
, then the return value is the same as the
target
object that was passed in; otherwise, the
return value is a new instance of this
class.protected final void copyToImpl(IdeSettings copy)
public static void registerUI(Navigable ui)
ui
- user interface to register.public static void deregisterUI(Navigable ui)
ui
- user interface to deregister.public static Navigable[] getNavigables()
public boolean isAskExit()
public void setAskExit(boolean askExit)
public Navigable getEnvironNavigable()
public boolean hasData(java.lang.String dataKey)
dataKey
exists. This method does not cause the loading of the settings, therefore
it should be used to check for data existance instead of calling
getData for that purpose.dataKey
- unique key identifying the data.public ClientSetting getClientSetting(java.lang.String dataKey) throws TransientMarker
dataKey
.dataKey
- unique key identifying the data.null
.TransientMarker
public java.lang.Object getData(java.lang.String dataKey) throws TransientMarker
dataKey
.
Don't use this method to check for the existance of the data. Instead
use the hasData method.dataKey
- unique key identifying the data.TransientMarker
public java.lang.Object getClass(java.lang.String className, java.lang.ClassLoader classloader) throws TransientMarker
className
.
Classloads it using classloader
.className
- unique key identifying the data.classloader
- to classload the class with.TransientMarker
public void putData(java.lang.String dataKey, Copyable data)
ClientSetting
object to put client
specific settings.ClientSetting
object to do so.
This method is only available for backwards compatibility
dataKey
- unique key identifying the data.data
- the data.public void putLegacyData(java.lang.String dataKey, Copyable data)
Preferences
should not use this method.Used by extensions to preserve compatibility with previous releases for settings that have been moved from IdeSettings or ClientSetting (Object2Dom format) into Preferences (HashStructure format). It is not advised to use this method if your settings classes did not undergo such a transition (it will complicate what you have to do to migrate your settings properly).
dataKey
- unique key identifying the data.data
- the data.public void removeLegacyData(java.lang.String dataKey)
dataKey
- The id of the legacy object to remove.public KeyStrokeOptions getKeyStrokeOptions()
public boolean save()
public boolean load()
public void showDialog(java.awt.Frame parent)
public void showDialog(java.awt.Frame parent, java.lang.String[] selectionPath)
public void showDialog(java.awt.Frame parent, MDDPanel panel, java.lang.String[] selectionPath)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
protected final boolean equalsImpl(IdeSettings opt)
equals(Object)
that can
also be used by subclasses that implement equals(Object)
.
It assumes that the argument is not null
.public int hashCode()
hashCode
in class java.lang.Object
protected final void addClientSetting(ClientSetting setting)