|
Extension SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--oracle.ide.model.DefaultDisplayable | +--oracle.ide.model.DefaultElement | +--oracle.ide.model.DefaultFolder | +--oracle.ide.model.DataFolder | +--oracle.ide.model.ObservableDataFolder | +--oracle.ide.model.Workspaces
This a new class that is under development to replace Workspaces.
Fields inherited from class oracle.ide.model.DefaultFolder |
_children |
Fields inherited from interface oracle.ide.addin.Subject |
OBJECT_MODIFIED |
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 . |
java.net.URL |
getActiveWorkspaceURL()
|
javax.swing.Icon |
getIcon()
Part of Element interface. |
java.lang.String |
getLongLabel()
Returns a long label that can be displayed to the user. |
java.lang.String |
getShortLabel()
Returns a short label that can be displayed to the user. |
java.lang.String |
getToolTipText()
Returns the tool tip text to show when the mouse pointer pauses over a UI component that represents this Displayable . |
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 |
setActiveWorkspace(Workspace workspace)
|
void |
setActiveWorkspaceURL(java.net.URL workspaceURL)
|
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 Workspace s. |
Methods inherited from class oracle.ide.model.ObservableDataFolder |
attach, detach, notifyObservers |
Methods inherited from class oracle.ide.model.DataFolder |
add, getListOfChildren, removeAll, setListOfChildren |
Methods inherited from class oracle.ide.model.DefaultFolder |
canRemove, containsChild, copyToImpl, equalsImpl, getChildren, mayHaveChildren, size |
Methods inherited from class oracle.ide.model.DefaultElement |
getAttributes, getData |
Methods inherited from class oracle.ide.model.DefaultDisplayable |
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 |
Methods inherited from interface oracle.ide.model.Data |
getData |
Methods inherited from interface oracle.ide.model.Displayable |
toString |
Constructor Detail |
public Workspaces()
public Workspaces(Workspaces workspaces)
Method Detail |
public java.lang.Object copyTo(java.lang.Object object)
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:
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.copyTo
in class ObservableDataFolder
oracle.ide.util.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.java.lang.ClassCastException
- if target
is
non-null
and cannot be downcast to the type of
this
object.protected final void copyToImpl(Workspaces copy)
public java.net.URL getWorkDirectory()
Workspace
s.public void setWorkDirectory(java.net.URL workDirectory)
Workspace
s.public java.net.URL getActiveWorkspaceURL()
public void setActiveWorkspaceURL(java.net.URL workspaceURL)
public java.lang.String getShortLabel()
Displayable
String
is considered
translatable and should therefore be placed in an appropriate
resource file. When possible, the returned label should be
reasonably short enough to show in the navigator or explorer
windows but long enough to clearly identify and distinguish the
Displayable
.getShortLabel
in class DefaultDisplayable
oracle.ide.model.Displayable
Displayable
that can be shown to the user.public java.lang.String getLongLabel()
Displayable
String
is considered translatable
and should therefore be placed in an appropriate resource file.
The long label differs from the short label essentially on length.
Usually the long label will only be shown on-demand and in places
where horizontal space is more available. Examples are the status
bar and tooltips.getLongLabel
in class DefaultDisplayable
oracle.ide.model.Displayable
Displayable
that
can be shown to the user.public javax.swing.Icon getIcon()
DefaultFolder
Element
interface. The default implementation
returns null
, which causes a default folder icon to be
used.getIcon
in class DefaultFolder
oracle.ide.model.DefaultFolder
Displayable.getIcon()
public java.lang.String getToolTipText()
Displayable
Displayable
.
In many cases it may be appropriate for this method to return the
same value as Displayable.getLongLabel()
.getToolTipText
in class DefaultDisplayable
oracle.ide.model.Displayable
Displayable
.public boolean canAdd(Element element)
Folder
interface method. Returns true
if
the type of the specified Element
exactly matches
Workspace
. Returns false
otherwise.canAdd
in class DefaultFolder
Folder.canAdd(Element)
,
DefaultFolder.canAdd(Element)
,
Workspace
public boolean remove(Element doc)
DefaultFolder
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 Observer
s of the
DefaultFolder
. The policy in the IDE is that the class
that changes the state of an object is responsible for firing the
UpdateMessage
s for those
changes. UpdateMessage
s
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);
remove
in class DataFolder
oracle.ide.model.DefaultFolder
Folder.remove(Element)
public boolean isDirty()
Dirtyable
isDirty
in interface Dirtyable
isDirty
in class DataFolder
oracle.ide.model.Dirtyable
true
if the data in the object has been modified.public void markDirty(boolean dirty)
Dirtyable
markDirty(...)
instead of
setDirty(...)
so that the JavaBeans
Introspector
will not
mistakenly identify "dirty" as a JavaBean property.markDirty
in interface Dirtyable
markDirty
in class DataFolder
oracle.ide.model.Dirtyable
dirty
- If true
, sets the object as being
dirty; if false
, sets the object as being up-to-date.public void setOwner(Dirtyable owner)
SubDirtyable
SubDirtyable
implementation will be persisted.setOwner
in interface SubDirtyable
oracle.ide.model.SubDirtyable
owner
- The Dirtyable
object in which this
SubDirtyable
will be saved.public Workspace currentActiveWorkspace()
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
.public void setActiveWorkspace(Workspace workspace)
|
Extension SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |