Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

oracle.ide.model
Class Workspaces

java.lang.Object
  extended by oracle.ide.model.DefaultDisplayable
      extended by oracle.ide.model.DefaultElement
          extended by oracle.ide.model.DefaultFolder
              extended by oracle.ide.model.ObservableFolder
                  extended by oracle.ide.model.Workspaces
All Implemented Interfaces:
Displayable, Element, Folder, SubDirtyable, Subject, Dirtyable, Copyable

public class Workspaces
extends ObservableFolder
implements SubDirtyable

This class holds all Workspace objects currently available to the user in the IDE.


Field Summary
static java.lang.String WORKSPACES
          Constant identifying this object.
 
Fields inherited from class oracle.ide.model.DefaultFolder
_children
 
Constructor Summary
Workspaces()
          Default constructor.
Workspaces(Workspaces workspaces)
          Copy constructor.
 
Method Summary
 boolean canAdd(Element element)
          Folder interface method.
 java.lang.Object copyTo(java.lang.Object object)
          Copies the internal state of this object to the specified copy.
protected  void copyToImpl(Workspaces copy)
          Design pattern for supporting strongly typed copying.
 Workspace currentActiveWorkspace()
          Returns the currently active Workspace associated with this Workspaces.
static Folder findOwner(Element element, Context context)
          This method will be called when the IDE needs to determine the container on whom to call the remove, canRemove, add, and canAdd methods.
 java.util.Map getActiveProjectMap()
          Gets a map containing information about what project for a given workspace.
 java.net.URL getActiveWorkspaceURL()
           
 java.util.Iterator getChildren()
          Part of the Element interface.
 javax.swing.Icon getIcon()
          Part of Element interface.
 java.lang.String getShortLabel()
          This implementation returns a place-holder String.
 java.net.URL getWorkDirectory()
           
 boolean isDirty()
          True if the data in the object has been modified.
 void markDirty(boolean dirty)
          Marks the data with the specified dirty state.
 boolean remove(Element doc)
          Part of the Folder interface.
 void setActiveProjectMap(java.util.Map map)
          Sets the active project map.
 void setActiveWorkspace(Workspace workspace)
          Sets the currently active Workspace associated with this Workspaces.
 void setActiveWorkspaceURL(java.net.URL workspaceURL)
           
 void setListOfChildren(java.util.List list)
          Fulfills the public accessor part of the Folder contract.
 void setOwner(Dirtyable owner)
          This method should be called to set the document in which a SubDirtyable implementation will be persisted.
 void setWorkDirectory(java.net.URL workDirectory)
          Sets the default root directory for all new Workspaces.
 java.util.Collection<Workspace> workspaces()
          Returns a collection of Workspace instances which are children of this Workspaces.
 
Methods inherited from class oracle.ide.model.ObservableFolder
add, attach, detach, getListOfChildren, notifyObservers, removeAll
 
Methods inherited from class oracle.ide.model.DefaultFolder
canRemove, containsChild, copyToImpl, equalsImpl, mayHaveChildren, size
 
Methods inherited from class oracle.ide.model.DefaultElement
getAttributes, getData
 
Methods inherited from class oracle.ide.model.DefaultDisplayable
getLongLabel, getToolTipText, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface oracle.ide.model.Element
getAttributes, getData
 
Methods inherited from interface oracle.ide.model.Displayable
getLongLabel, getToolTipText, toString
 

Field Detail

WORKSPACES

public static final java.lang.String WORKSPACES
Constant identifying this object. Used by the workspaces navigator as part of its ID.

See Also:
Constant Field Values
Constructor Detail

Workspaces

public Workspaces()
Default constructor. Required for JavaBean status.


Workspaces

public Workspaces(Workspaces workspaces)
Copy constructor.

Method Detail

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
Overrides:
copyTo in class ObservableFolder
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(Workspaces copy)
Design pattern for supporting strongly typed copying.


getWorkDirectory

public java.net.URL getWorkDirectory()
Returns:
The full pathname of the default root directory for all new Workspaces.

setWorkDirectory

public void setWorkDirectory(java.net.URL workDirectory)
Sets the default root directory for all new Workspaces.


getActiveWorkspaceURL

public java.net.URL getActiveWorkspaceURL()

setActiveWorkspaceURL

public void setActiveWorkspaceURL(java.net.URL workspaceURL)

workspaces

@NotNull
public java.util.Collection<Workspace> workspaces()
Returns a collection of Workspace instances which are children of this Workspaces.

This method is equivalent to calling getChildren() and building a collection of the children which are an instance of Workspace.

Returns:
an unmodifiable collection of Workspaces. Never returns null.
Since:
11.1.1.1.0

getShortLabel

public java.lang.String getShortLabel()
Description copied from class: DefaultDisplayable
This implementation returns a place-holder String.

Specified by:
getShortLabel in interface Displayable
Overrides:
getShortLabel in class DefaultDisplayable
Returns:
a short descriptive label of the Displayable that can be shown to the user.
See Also:
Displayable.getShortLabel()

getIcon

public javax.swing.Icon getIcon()
Description copied from class: DefaultFolder
Part of Element interface. The default implementation returns null, which causes a default folder icon to be used.

Specified by:
getIcon in interface Displayable
Overrides:
getIcon in class DefaultFolder
Returns:
the Icon to be displayed for the Displayable.
See Also:
Displayable.getIcon()

canAdd

public boolean canAdd(Element element)
Folder interface method. Returns true if the type of the specified Element exactly matches Workspace. Returns false otherwise.

Specified by:
canAdd in interface Folder
Overrides:
canAdd in class DefaultFolder
Parameters:
element - the Element that is about to be added to this Folder.
Returns:
true if and only if the specified Element is not null.
See Also:
Folder.canAdd(Element), DefaultFolder.canAdd(Element), Workspace

remove

public boolean remove(Element doc)
Description copied from class: DefaultFolder
Part of the Folder interface. The specified Element is removed from the child list. However, if the Element is null, this method does nothing. If the Element occurs more than once in the child list, then only the first instance is removed.

In order for the UI to get updated correctly, an appropriate UpdateMessage will need to be sent to Observers of the DefaultFolder. The policy in the IDE is that the class that changes the state of an object is responsible for firing the UpdateMessages for those changes. UpdateMessages are not fired by the changed object itself.

For a single UpdateMessage corresponding to DefaultFolder.remove(Element), you can fire the UpdateMessage using code like:

UpdateMessage.fireChildRemoved(folder, removedChild);

Specified by:
remove in interface Folder
Overrides:
remove in class ObservableFolder
Parameters:
doc - The child object to remove.
See Also:
Folder.remove(Element)

setListOfChildren

public void setListOfChildren(java.util.List list)
Description copied from class: ObservableFolder
Fulfills the public accessor part of the Folder contract. Sets the child list of the ObservableFolder instance to match the specified List. Only objects in the List that can be cast to Element are added. The implementation uses the DefaultFolder.add(Element) method to add the child to the list, so that subclass implementations can override DefaultFolder.add(Element) without having to also override this method.

Overrides:
setListOfChildren in class ObservableFolder

isDirty

public boolean isDirty()
Description copied from interface: Dirtyable
True if the data in the object has been modified.

Specified by:
isDirty in interface Dirtyable
Overrides:
isDirty in class ObservableFolder
Returns:
true if the data in the object has been modified.

markDirty

public void markDirty(boolean dirty)
Description copied from interface: Dirtyable
Marks the data with the specified dirty state. This method is called markDirty(...) instead of setDirty(...) so that the JavaBeans Introspector will not mistakenly identify "dirty" as a JavaBean property.

Specified by:
markDirty in interface Dirtyable
Overrides:
markDirty in class ObservableFolder
Parameters:
dirty - If true, sets the object as being dirty; if false, sets the object as being up-to-date.

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
Parameters:
owner - The Dirtyable object in which this SubDirtyable will be saved.

currentActiveWorkspace

public Workspace currentActiveWorkspace()
Returns the currently active Workspace associated with this Workspaces. If there is no currently active Workspace, null is returned This method is called currentActiveWorkspace instead of getActiveWorkspace in order to avoid having the "_activeWorkspace" property get picked up by the Introspector.


setActiveWorkspace

public void setActiveWorkspace(Workspace workspace)
Sets the currently active Workspace associated with this Workspaces.


getActiveProjectMap

public java.util.Map getActiveProjectMap()
Gets a map containing information about what project for a given workspace. This method should only be called by the persistance mechanism. It builds the map everytime the method is called.


setActiveProjectMap

public void setActiveProjectMap(java.util.Map map)
Sets the active project map. If the workspaces children information has already been initialized, it initializes the active projects on each workspace child, otherwise, this will be done when the children are initialized.


findOwner

public static final Folder findOwner(Element element,
                                     Context context)
This method will be called when the IDE needs to determine the container on whom to call the remove, canRemove, add, and canAdd methods.

Parameters:
element - the Element being checked for removal from this folder
context - the Context in which to perform the search
Returns:
the Folder that owns the specified element. In general a folder owns an element when that folder has veto power to remove a child element.

getChildren

public java.util.Iterator getChildren()
Part of the Element interface. This implementation returns an Iterator over the current list of children.

Specified by:
getChildren in interface Element
Overrides:
getChildren in class DefaultFolder
Returns:
an Iterator over any child Elements contained by this Element. If there are no children, null is returned.
See Also:
Element.getChildren()

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.1.0)

E17493-02

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