public final class ContentSetFolder extends RelativeDirectoryContextFolder implements AutoExpandable
RelativeDirectoryContextFolder
. Clients should retrieve information about a ContentSetFolder through the methods defined in RelativeDirectoryContextFolder
.
A ContentSetFolder represents the root of a content set, such as "Application Sources" or "Web Sources", in the navigator.
Implementation note: this class doesn't actually implement the Folder
interface, because there is no API means to add/remove children to/from ContentLevelFolder once its been created. If you have code that expects "instanceof Folder" to work, what you need to do instead is call "mayHaveChildren()" and if that returns true, then the Element serves as a "folder".
Modifier and Type | Method and Description |
---|---|
void |
attach(Observer observer)
Registers an observer interested in being notified when the internal state of the class implementing the
Subject interface changes. |
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. |
Attributes |
getAttributes()
This method returns an
Attributes object that encodes the attributes of the Element . |
java.util.Iterator |
getChildren()
This method is part of the
Element interface to provide a convenient way of getting an Iterator over any contained child Element s without having to test the object's type with the instanceof operator or having to downcast to a more specific type. |
ContentSet |
getContentSet() |
java.util.List |
getContentSetKeys()
Returns the keys for the content sets that are represented by this RelativeDirectoryContextFolder.
|
java.lang.Object |
getData()
Returns the data object associated with this
Element . |
javax.swing.Icon |
getIcon()
Returns an
Icon that can be shown in association with this Displayable . |
java.lang.String |
getLongLabel()
Returns a long label that can be displayed to the user.
|
java.lang.String |
getRelativePath()
Retrieves the relative path described by this folder.
|
URLPath |
getRootDirectories()
Retrieves the root directories used to assemble the folder contents.
|
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 . |
boolean |
mayHaveChildren()
This method is part of the
Element interface to provide a convenient way of determining whether an object may have children without having to test the object's type with the instanceof operator or having to downcast to a more specific type. |
void |
notifyObservers(java.lang.Object subject, UpdateMessage change)
Notifies all observers that the state of the subject has changed.
|
boolean |
shouldAutoExpand(Context expansionContext)
The implementation of this method should return
true if this Element is allowed to be auto-expanded. |
java.lang.String |
toString()
Returns the Short Label displayed to a user.
|
canContainJavaSources, equals
public URLPath getRootDirectories()
RelativeDirectoryContextFolder
getRootDirectories
in interface RelativeDirectoryElement
getRootDirectories
in class RelativeDirectoryContextFolder
public java.lang.String getRelativePath()
RelativeDirectoryContextFolder
getRelativePath
in interface RelativeDirectoryElement
getRelativePath
in class RelativeDirectoryContextFolder
public java.util.List getContentSetKeys()
RelativeDirectoryContextFolder
getContentSetKeys
in class RelativeDirectoryContextFolder
public boolean shouldAutoExpand(Context expansionContext)
AutoExpandable
true
if this Element is allowed to be auto-expanded. If false
is returned, it means that auto-expansion will occur up to this Element but not drill in any further.shouldAutoExpand
in interface AutoExpandable
expansionContext
- The auto-expansion Context. This Context is not necessarily the context of this Element, but it is the Context where auto-expansion was initiated. It is also possible that the expansionContext will be null
if there is a reason that a Context could not be provided. Implementations need to check for null before dereferencing expansionContext.public ContentSet getContentSet()
public final void attach(Observer observer)
Subject
Subject
interface changes. Implementors should do nothing when the same observer is added more than once.public final void detach(Observer observer)
Subject
Subject
interface changes. Implementors should do nothing when the same observer is removed more than once.public final void notifyObservers(java.lang.Object subject, UpdateMessage change)
Subject
notifyObservers
in interface Subject
subject
- the subject whose state has changed.change
- what changed.public final java.lang.Object getData()
Element
Element
. Implementations will often simply return this
, since the Element is often its own data object. If the implementation returns an object other than this
, be sure to set ElementAttributes.DECORATES_DATA_ELEMENT
.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 interface 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 interface Displayable
Displayable
that can be shown to the user.public javax.swing.Icon getIcon()
Displayable
Icon
that can be shown in association with this Displayable
. Typically the icon will be used in a tree control or list control. Therefore the icon must fit naturally within the space normally given to items within those controls. Such icons are usually 16x16 in size or, if there is a one-pixel transparent padding around the edge, 18x18 in size. It is strongly recommended that icons returned by this method be either 16x16 or 18x18 in size. If null
is returned, the control may show a default icon, or it may show no icon, whichever is appropriate.getIcon
in interface Displayable
Icon
to be displayed for the Displayable
.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 interface Displayable
Displayable
.public final java.lang.String toString()
Displayable
toString
method in java.lang.Object
.
Implementors of the Displayable
interface should override this as appropriate. The default implementation is the same as getShortLabel
toString
in interface Displayable
toString
in class java.lang.Object
Object.toString()
, Displayable.getShortLabel()
public final boolean mayHaveChildren()
Element
Element
interface to provide a convenient way of determining whether an object may have children without having to test the object's type with the instanceof
operator or having to downcast to a more specific type.
An implementation of Element
that represents a leaf in a tree structure should return false
from this method. An implementation of Element
that could represent a non-leaf in a tree structure should return true
from this method, even if it does not currently contain any children.
mayHaveChildren
in interface Element
true
if this Element
may contain child Element
s.public final Attributes getAttributes()
Element
Attributes
object that encodes the attributes of the Element
. Changing the attribute settings on the return object changes the element attributes. Subclasses should use their super class attributes object to define their own attributes. This allows subclasses to inherit their super class attributes. If a subclass does not wish to inherit attributes, they should first call getAttributes().clear()
and define new attributes.getAttributes
in interface Element
public final java.util.Iterator getChildren()
Element
Element
interface to provide a convenient way of getting an Iterator
over any contained child Element
s without having to test the object's type with the instanceof
operator or having to downcast to a more specific type.
An implementation of Element
that represents a leaf in a tree structure should return null
from this method. An implementation of Element
that could represent a non-leaf in a tree structure should return either an Iterator
over the child Element
s or null
if there are no children.
getChildren
in interface Element
Iterator
over any child Element
s contained by this Element
. If there are no children, null
is returned.