public final class ContentLevelFolder extends RelativeDirectoryContextFolder
RelativeDirectoryContextFolder
. Clients
should retrieve information about a ContentLevelFolder through
the methods defined in RelativeDirectoryContextFolder
.
A ContentLevelFolder
represents a directory (aka
package) in the navigator. The contents of the directory are
represented by a backing instance of ContentLevel
.
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. |
ContentLevel |
getContentLevel() |
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.
|
java.lang.String |
toString()
Returns the Short Label displayed to a user.
|
canContainJavaSources, equals
public final URLPath getRootDirectories()
RelativeDirectoryContextFolder
getRootDirectories
in interface RelativeDirectoryElement
getRootDirectories
in class RelativeDirectoryContextFolder
public final java.lang.String getRelativePath()
RelativeDirectoryContextFolder
getRelativePath
in interface RelativeDirectoryElement
getRelativePath
in class RelativeDirectoryContextFolder
public java.util.List getContentSetKeys()
RelativeDirectoryContextFolder
getContentSetKeys
in class RelativeDirectoryContextFolder
public final ContentLevel getContentLevel()
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.