Extension SDK

oracle.jdeveloper.model
Class JProjectSettings

java.lang.Object
  extended byoracle.ide.model.DefaultSubDirtyable
      extended byoracle.jdeveloper.model.JProjectSettings
All Implemented Interfaces:
ContentProvider, Copyable, Dirtyable, SubDirtyable

public class JProjectSettings
extends DefaultSubDirtyable
implements Copyable, ContentProvider

This class is an organizational subunit of JProject that provides a mechanism for tracking the current active configuration and an API for dynamically registering data classes that are associated with the JProject that do not vary on a per configuration basis.


Nested Class Summary
static class JProjectSettings.DependenciesNavigable
          Need to override the dependencies navigable in order to avoid showing the dependencies panel for the default project.
 
Constructor Summary
JProjectSettings()
          Default constructor required for JavaBean status.
JProjectSettings(JProjectSettings projectSettings)
          Copy constructor.
 
Method Summary
 java.lang.Object copyTo(java.lang.Object object)
          Copies the internal state of this object to the specified copy.
protected  void copyToImpl(JProjectSettings copy)
           
 boolean equals(java.lang.Object o)
           
protected  boolean equalsImpl(JProjectSettings settings)
          This is a helper method for equals(Object) that can also be used by subclasses that implement equals(Object).
 java.lang.String getActiveConfigName()
           
 JProjectConfiguration getActiveConfiguration()
           
 java.util.Map getCommonData()
           
 JProjectConfiguration getConfigurationByName(java.lang.String configName)
           
 java.util.List getConfigurationNames()
           
 java.util.Map getConfigurations()
          Returns a shallow copy of the configurations Map.
 URLPath getPath()
           
 void initialize()
          Initialization of JProjectSettings is a fairly expensive operation and is often not needed at runtime, especially if the state of JProjectSettings is being loaded from persistent storage or is being copied from another JProjectSettings.
static void registerCommonData(java.lang.String dataKey, java.lang.Class dataClass)
          This method is part of the API that allows the common project data to be specified dynamically.
static void registerCommonUI(Navigable ui)
          This method is part of the API that allows the common UI for the project properties dialog to be specified dynamically.
 void setActiveConfigName(java.lang.String activeConfigName)
           
 void setCommonData(java.util.Map commonData)
           
 void setConfigurations(java.util.Map configurations)
          If the specified Map is different from the current configuration Map (according to the Object.equals(Object) method), then the current configurations Map is cleared, and the specified Map is copied into the current configurations Map.
 void setOwner(Dirtyable owner)
          This method should be called to set the document in which a SubDirtyable implementation will be persisted.
 
Methods inherited from class oracle.ide.model.DefaultSubDirtyable
getOwner, isDirty, markDirty
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JProjectSettings

public JProjectSettings()
Default constructor required for JavaBean status. The client must invoke initialize() if an initialized instance of JProjectSettings is needed.


JProjectSettings

public JProjectSettings(JProjectSettings projectSettings)
Copy constructor.

Method Detail

initialize

public void initialize()
Initialization of JProjectSettings is a fairly expensive operation and is often not needed at runtime, especially if the state of JProjectSettings is being loaded from persistent storage or is being copied from another JProjectSettings. If an initialized instance of JProjectSettings is needed, this initialize method must be called after the constructor.


setOwner

public void setOwner(Dirtyable owner)
Description copied from interface: SubDirtyable
This method should be called to set the document in which a SubDirtyable implementation will be persisted.

Specified by:
setOwner in interface SubDirtyable
Overrides:
setOwner in class DefaultSubDirtyable

copyTo

public java.lang.Object copyTo(java.lang.Object object)
Description copied from interface: Copyable
Copies the internal state of 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:

public 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> }
The parameter passed into the 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.

Specified by:
copyTo in interface Copyable
Parameters:
object - 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.
Returns:
The object to which the state of 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.

copyToImpl

protected final void copyToImpl(JProjectSettings copy)

getPath

public URLPath getPath()
Specified by:
getPath in interface ContentProvider
Returns:
the path where to look for additional sources.

getCommonData

public java.util.Map getCommonData()

setCommonData

public void setCommonData(java.util.Map commonData)

getConfigurations

public java.util.Map getConfigurations()
Returns a shallow copy of the configurations Map. The configurations themselves are not copied, but the mapping is copied. Therefore, changes made to the returned Map will not be reflected in JProjectSettings unless setConfigurations(Map) is called with the altered configurations Map.


setConfigurations

public void setConfigurations(java.util.Map configurations)
If the specified Map is different from the current configuration Map (according to the Object.equals(Object) method), then the current configurations Map is cleared, and the specified Map is copied into the current configurations Map.


getActiveConfigName

public java.lang.String getActiveConfigName()

setActiveConfigName

public void setActiveConfigName(java.lang.String activeConfigName)

equals

public boolean equals(java.lang.Object o)

equalsImpl

protected final boolean equalsImpl(JProjectSettings settings)
This is a helper method for equals(Object) that can also be used by subclasses that implement equals(Object). It assumes that the argument is not null.


getActiveConfiguration

public JProjectConfiguration getActiveConfiguration()

getConfigurationNames

public java.util.List getConfigurationNames()

getConfigurationByName

public JProjectConfiguration getConfigurationByName(java.lang.String configName)

registerCommonData

public static void registerCommonData(java.lang.String dataKey,
                                      java.lang.Class dataClass)
This method is part of the API that allows the common project data to be specified dynamically. The specified dataKey is used to locate the data object within a Map that contains all dynamically registered common data objects.


registerCommonUI

public static void registerCommonUI(Navigable ui)
This method is part of the API that allows the common UI for the project properties dialog to be specified dynamically.


Extension SDK

 

Copyright ©1997, 2003, Oracle. All rights reserved.