public class DefaultFolder extends DefaultElement implements Folder
DefaultFolder is a complete, default implementation of
  the Folder interface.  This is a convenient starting point
  for the implementation of data classes which can be integrated with
  the IDE framework.
  If a subclass of DefaultFolder adheres to the JavaBeans API,
  it can also interoperate with the IDE's marshalling framework, which
  is used for persistence.  Such a subclass can be persisted
  automatically (i.e. no custom persistence code needs to be written),
  so long as the subclass implementation follows the guidelines of the
  marshalling framework.  For details, see the documentation for the
  oracle.ide.marshal package and its subpackages.
  A JavaBean also has the advantage of interoperating with the
  property inspector.  Newer APIs are also being considered which
  leverage the JavaBeans API, so implementing a DefaultFolder
  subclass to follow the JavaBeans API will also result in
  compatibility with future features.
DefaultElement, 
Folder, 
oracle.ide.marshal, 
oracle.ide.marshal.xml, 
Object2Dom| Modifier and Type | Field and Description | 
|---|---|
protected java.util.ArrayList | 
_children
The " 
final" modifier makes it possible to synchronize
  on the _children object, since its value can never
  change. | 
| Constructor and Description | 
|---|
DefaultFolder()
Creates a new  
DefaultFolder instance. | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
add(Element element)
Part of the  
Folder interface. | 
boolean | 
canAdd(Element element)
Part of the  
Folder interface. | 
boolean | 
canRemove(Element element)
Part of the  
Folder interface. | 
boolean | 
containsChild(Element child)
 | 
protected void | 
copyToImpl(DefaultFolder copy)
Design pattern for supporting strongly typed copying. 
 | 
protected boolean | 
equalsImpl(DefaultFolder defaultFolder)
This is a helper method for  
Object.equals(Object) that can
  also be used by subclasses that implement Object.equals(Object). | 
java.util.Iterator | 
getChildren()
Part of the  
Element interface. | 
javax.swing.Icon | 
getIcon()
Part of  
Element interface. | 
boolean | 
mayHaveChildren()
Part of the  
Element interface. | 
boolean | 
remove(Element element)
Part of the  
Folder interface. | 
void | 
removeAll()
Removes all children from the folder. 
 | 
int | 
size()
Returns the current number of children in the folder. 
 | 
getAttributes, getDatagetLongLabel, getShortLabel, getToolTipText, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetAttributes, getDatagetLongLabel, getShortLabel, getToolTipText, toStringprotected final java.util.ArrayList _children
final" modifier makes it possible to synchronize
  on the _children object, since its value can never
  change.  All subclasses that directly access the
  _children field are responsible for first synchronizing
  on the _children object before accessing its contents and
  and for managing the state of the dirty flag when changes are
  made.public DefaultFolder()
DefaultFolder instance.Subclasses that are designed to operate as a JavaBean must implement a public default constructor.
public boolean mayHaveChildren()
Element interface.  This implementation always
  returns true.mayHaveChildren in interface ElementmayHaveChildren in class DefaultElementtrue if this Element may contain
  child Elements.Element.mayHaveChildren()public java.util.Iterator getChildren()
Element interface.  This implementation returns
  an Iterator over the current list of children.getChildren in interface ElementgetChildren in class DefaultElementIterator over any child Elements
  contained by this Element.  If there are no children,
  null is returned.Element.getChildren()public javax.swing.Icon getIcon()
Element interface.  The default implementation
  returns null, which causes a default folder icon to be
  used.getIcon in interface DisplayablegetIcon in class DefaultDisplayableIcon to be displayed for the
  Displayable.Displayable.getIcon()public boolean canAdd(Element element)
Folder interface.  The default implementation
  returns true if and only if the specified
  Element is not null.canAdd in interface Folderelement - the Element that is about to be added
  to this Folder.true if and only if the specified
  Element is not null.Folder.canAdd(Element)public boolean add(Element element)
Folder interface.  The specified Element
  is added to the end of the child list.  However, if the
  Element is null, this method does nothing.
  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.  UpdageMessages
  are not fired by the changed object itself.
  For a single UpdateMessage
  corresponding to add(Element), you can fire the
  UpdateMessage using code
  like:
  
    UpdateMessage.fireChildAdded(folder, newlyAddedChild);
  add in interface FolderFolder.add(oracle.ide.model.Element)public boolean canRemove(Element element)
Folder interface.  The default implementation
  returns true if and only if the specified
  Element is not null.canRemove in interface Folderelement - the Element that is about to be removed
  from this Folder.true if and only if the specified
  Element is not null.Folder.canRemove(Element)public boolean remove(Element element)
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 remove(Element), you can fire the
  UpdateMessage using code
  like:
  
    UpdateMessage.fireChildRemoved(folder, removedChild);
  remove in interface Folderelement - The child object to remove.Folder.remove(Element)public boolean containsChild(Element child)
FoldercontainsChild in interface Folderpublic int size()
Folderpublic void removeAll()
Folderprotected final boolean equalsImpl(DefaultFolder defaultFolder)
Object.equals(Object) that can
  also be used by subclasses that implement Object.equals(Object).
  It assumes that the argument is not null.protected final void copyToImpl(DefaultFolder copy)
  This method is intended to be helper method that subclasses can use,
  if they implement the Copyable interface.
  The copy of the children list is a shallow copy.  That is, the
  children themselves are not copied, but the list is copied.