Extension SDK 10.1.2

oracle.ide.model
Class ObservableDataFolder

java.lang.Object
  extended byoracle.ide.model.DefaultDisplayable
      extended byoracle.ide.model.DefaultElement
          extended byoracle.ide.model.DefaultFolder
              extended byoracle.ide.model.DataFolder
                  extended byoracle.ide.model.ObservableDataFolder
All Implemented Interfaces:
Copyable, Data, Dirtyable, Displayable, Element, Folder, Subject
Direct Known Subclasses:
Workspaces

public class ObservableDataFolder
extends DataFolder
implements Subject

ObservableDataFolder is a complete, default implementation of the Folder and Subject interfaces. This is a convenient starting point for the implementation of data classes which can be integrated with the IDE framework.

See Also:
Subject, DataFolder

Field Summary
 
Fields inherited from class oracle.ide.model.DefaultFolder
_children
 
Fields inherited from interface oracle.ide.addin.Subject
OBJECT_MODIFIED
 
Constructor Summary
ObservableDataFolder()
          Default constructor needed for JavaBean status.
ObservableDataFolder(ObservableDataFolder observableDataFolder)
          Copy constructor.
 
Method Summary
 void attach(Observer observer)
          Registers an observer interested in being notified when the internal state of the class implementing the Subject interface changes.
 java.lang.Object copyTo(java.lang.Object object)
          Copies the internal state of this object to the specified copy.
 void detach(Observer observer)
          Unregisters an observer that is not interested anymore in being notified when the internal state of the class implementing the Subject interface changes.
 void notifyObservers(java.lang.Object observed, UpdateMessage change)
          Notifies all observers that the state of the subject has changed.
 
Methods inherited from class oracle.ide.model.DataFolder
add, getListOfChildren, isDirty, markDirty, remove, removeAll, setListOfChildren
 
Methods inherited from class oracle.ide.model.DefaultFolder
canAdd, canRemove, containsChild, copyToImpl, equalsImpl, getChildren, getIcon, mayHaveChildren, size
 
Methods inherited from class oracle.ide.model.DefaultElement
getAttributes, getData
 
Methods inherited from class oracle.ide.model.DefaultDisplayable
getLongLabel, getShortLabel, 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
 
Methods inherited from interface oracle.ide.model.Data
getData
 
Methods inherited from interface oracle.ide.model.Displayable
getLongLabel, getShortLabel, getToolTipText, toString
 

Constructor Detail

ObservableDataFolder

public ObservableDataFolder()
Default constructor needed for JavaBean status.


ObservableDataFolder

public ObservableDataFolder(ObservableDataFolder observableDataFolder)
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 DataFolder

attach

public void attach(Observer observer)
Description copied from interface: Subject
Registers an observer interested in being notified when the internal state of the class implementing the Subject interface changes. Implementors should do nothing when the same observer is added more than once.

Specified by:
attach in interface Subject
Parameters:
observer - the Observer interested in change notification messages.

detach

public void detach(Observer observer)
Description copied from interface: Subject
Unregisters an observer that is not interested anymore in being notified when the internal state of the class implementing the Subject interface changes. Implementors should do nothing when the same observer is removed more than once.

Specified by:
detach in interface Subject
Parameters:
observer - the Observer disinterested in change notification messages.

notifyObservers

public void notifyObservers(java.lang.Object observed,
                            UpdateMessage change)
Description copied from interface: Subject
Notifies all observers that the state of the subject has changed.

Specified by:
notifyObservers in interface Subject
Parameters:
observed - the subject whose state has changed.
change - what changed.

Extension SDK

 

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