org.openide.src.nodes
Class ElementNode

java.lang.Object
  extended byjava.beans.FeatureDescriptor
      extended byorg.openide.nodes.Node
          extended byorg.openide.nodes.AbstractNode
              extended byorg.openide.src.nodes.ElementNode
All Implemented Interfaces:
ElementProperties, HelpCtx.Provider, IconStrings, Lookup.Provider
Direct Known Subclasses:
InitializerElementNode, MemberElementNode

public abstract class ElementNode
extends AbstractNode
implements IconStrings, ElementProperties

Superclass of nodes representing elements in the source hierarchy.

Element nodes generally:


Nested Class Summary
 
Nested classes inherited from class org.openide.nodes.Node
Node.Cookie, Node.Handle, Node.IndexedProperty, Node.Property, Node.PropertySet
 
Field Summary
static String CLASS
           
static String CONSTRUCTOR_PACKAGE
           
static String CONSTRUCTOR_PRIVATE
           
static String CONSTRUCTOR_PROTECTED
           
static String CONSTRUCTOR_PUBLIC
           
static String CONSTRUCTORS_CATEGORY
           
protected  Element element
          Associated element.
protected  ElementFormat elementFormat
          Format for FeatureDescriptor.getDisplayName().
static String ERROR
           
static String FIELD_PACKAGE
           
static String FIELD_PRIVATE
           
static String FIELD_PROTECTED
           
static String FIELD_PUBLIC
           
static String FIELD_ST_PACKAGE
           
static String FIELD_ST_PRIVATE
           
static String FIELD_ST_PROTECTED
           
static String FIELD_ST_PUBLIC
           
static String FIELDS_CATEGORY
           
static String INITIALIZER
           
static String INITIALIZER_ST
           
static String INTERFACE
           
static String METHOD_PACKAGE
           
static String METHOD_PRIVATE
           
static String METHOD_PROTECTED
           
static String METHOD_PUBLIC
           
static String METHOD_ST_PACKAGE
           
static String METHOD_ST_PRIVATE
           
static String METHOD_ST_PROTECTED
           
static String METHOD_ST_PUBLIC
           
static String METHODS_CATEGORY
           
protected static SourceOptions sourceOptions
          Options for the display name format.
static String WAIT
           
protected  boolean writeable
          Is this node read-only or are modifications permitted?
 
Fields inherited from class org.openide.nodes.AbstractNode
displayFormat, systemActions
 
Fields inherited from class org.openide.nodes.Node
EMPTY, PROP_COOKIE, PROP_DISPLAY_NAME, PROP_ICON, PROP_LEAF, PROP_NAME, PROP_OPENED_ICON, PROP_PARENT_NODE, PROP_PROPERTY_SETS, PROP_SHORT_DESCRIPTION
 
Fields inherited from interface org.openide.src.ElementProperties
PROP_ALL_CLASSES, PROP_BODY, PROP_CLASS_OR_INTERFACE, PROP_CLASSES, PROP_CONSTRUCTORS, PROP_EXCEPTIONS, PROP_FIELDS, PROP_IMPORTS, PROP_INIT_VALUE, PROP_INITIALIZERS, PROP_INTERFACES, PROP_JAVADOC, PROP_MEMBERS, PROP_METHODS, PROP_MODIFIERS, PROP_NAME, PROP_PACKAGE, PROP_PARAMETERS, PROP_RETURN, PROP_STATIC, PROP_STATUS, PROP_SUPERCLASS, PROP_TYPE, PROP_VALID
 
Constructor Summary
ElementNode(Element element, Children children, boolean writeable)
          Create a new element node.
 
Method Summary
 boolean canCopy()
          Test whether this node can be copied.
 boolean canCut()
          Test whether this node can be cut.
 boolean canDestroy()
          Test whether this node can be deleted.
 boolean canRename()
          Test whether this node can be renamed.
 Transferable clipboardCopy()
           
 Transferable clipboardCut()
           
 boolean equals(Object o)
          Test for equality.
 Node.Cookie getCookie(Class type)
          Get a cookie from this node.
 ElementFormat getElementFormat()
          Get a format for the element's display name.
 Node.Handle getHandle()
          Get a handle.
 HelpCtx getHelpCtx()
           
protected abstract  ElementFormat getHintElementFormat()
          Get a format for creating this node's short description.
protected  String[] getIconAffectingProperties()
          Get the names of all element properties which might affect the choice of icon.
 Node.PropertySet[] getPropertySets()
           
 String getShortDescription()
           
 int hashCode()
          Get a hash code.
protected abstract  String resolveIconBase()
          Get the currently appropriate icon base.
 void setActions(SystemAction[] actions)
          Set all actions for this node.
 void setElementFormat(ElementFormat elementFormat)
          Set the format for the display name.
 
Methods inherited from class org.openide.nodes.AbstractNode
cloneNode, createActions, createPasteTypes, createSheet, drag, getActions, getCookieSet, getCustomizer, getDefaultAction, getDropType, getIcon, getNewTypes, getOpenedIcon, getPasteTypes, getPreferredAction, getSheet, hasCustomizer, setCookieSet, setDefaultAction, setIconBase, setIconBaseWithExtension, setName, setSheet
 
Methods inherited from class org.openide.nodes.Node
addNodeListener, addPropertyChangeListener, clone, destroy, fireCookieChange, fireDisplayNameChange, fireIconChange, fireNameChange, fireNodeDestroyed, fireOpenedIconChange, firePropertyChange, firePropertySetsChange, fireShortDescriptionChange, getActions, getChildren, getContextActions, getContextMenu, getHtmlDisplayName, getLookup, getParentNode, hasPropertyChangeListener, isLeaf, removeNodeListener, removePropertyChangeListener, setChildren, setDisplayName, setShortDescription, toString
 
Methods inherited from class java.beans.FeatureDescriptor
attributeNames, getDisplayName, getName, getValue, isExpert, isHidden, isPreferred, setExpert, setHidden, setPreferred, setValue
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

sourceOptions

protected static final SourceOptions sourceOptions
Options for the display name format.


element

protected Element element
Associated element.


elementFormat

protected ElementFormat elementFormat
Format for FeatureDescriptor.getDisplayName().


writeable

protected boolean writeable
Is this node read-only or are modifications permitted?


FIELD_PUBLIC

public static final String FIELD_PUBLIC
See Also:
Constant Field Values

FIELD_PROTECTED

public static final String FIELD_PROTECTED
See Also:
Constant Field Values

FIELD_PRIVATE

public static final String FIELD_PRIVATE
See Also:
Constant Field Values

FIELD_PACKAGE

public static final String FIELD_PACKAGE
See Also:
Constant Field Values

FIELD_ST_PUBLIC

public static final String FIELD_ST_PUBLIC
See Also:
Constant Field Values

FIELD_ST_PROTECTED

public static final String FIELD_ST_PROTECTED
See Also:
Constant Field Values

FIELD_ST_PRIVATE

public static final String FIELD_ST_PRIVATE
See Also:
Constant Field Values

FIELD_ST_PACKAGE

public static final String FIELD_ST_PACKAGE
See Also:
Constant Field Values

CONSTRUCTOR_PUBLIC

public static final String CONSTRUCTOR_PUBLIC
See Also:
Constant Field Values

CONSTRUCTOR_PROTECTED

public static final String CONSTRUCTOR_PROTECTED
See Also:
Constant Field Values

CONSTRUCTOR_PRIVATE

public static final String CONSTRUCTOR_PRIVATE
See Also:
Constant Field Values

CONSTRUCTOR_PACKAGE

public static final String CONSTRUCTOR_PACKAGE
See Also:
Constant Field Values

METHOD_PUBLIC

public static final String METHOD_PUBLIC
See Also:
Constant Field Values

METHOD_PROTECTED

public static final String METHOD_PROTECTED
See Also:
Constant Field Values

METHOD_PRIVATE

public static final String METHOD_PRIVATE
See Also:
Constant Field Values

METHOD_PACKAGE

public static final String METHOD_PACKAGE
See Also:
Constant Field Values

METHOD_ST_PUBLIC

public static final String METHOD_ST_PUBLIC
See Also:
Constant Field Values

METHOD_ST_PROTECTED

public static final String METHOD_ST_PROTECTED
See Also:
Constant Field Values

METHOD_ST_PRIVATE

public static final String METHOD_ST_PRIVATE
See Also:
Constant Field Values

METHOD_ST_PACKAGE

public static final String METHOD_ST_PACKAGE
See Also:
Constant Field Values

INITIALIZER

public static final String INITIALIZER
See Also:
Constant Field Values

INITIALIZER_ST

public static final String INITIALIZER_ST
See Also:
Constant Field Values

CLASS

public static final String CLASS
See Also:
Constant Field Values

INTERFACE

public static final String INTERFACE
See Also:
Constant Field Values

WAIT

public static final String WAIT
See Also:
Constant Field Values

ERROR

public static final String ERROR
See Also:
Constant Field Values

FIELDS_CATEGORY

public static final String FIELDS_CATEGORY
See Also:
Constant Field Values

CONSTRUCTORS_CATEGORY

public static final String CONSTRUCTORS_CATEGORY
See Also:
Constant Field Values

METHODS_CATEGORY

public static final String METHODS_CATEGORY
See Also:
Constant Field Values
Constructor Detail

ElementNode

public ElementNode(Element element,
                   Children children,
                   boolean writeable)
Create a new element node.

Parameters:
element - element to represent
children - child nodes
writeable - true if this node should allow modifications. These include writable properties, clipboard operations, deletions, etc.
Method Detail

getShortDescription

public String getShortDescription()

resolveIconBase

protected abstract String resolveIconBase()
Get the currently appropriate icon base. Subclasses should make this sensitive to the state of the element--for example, a private variable may have a different icon than a public one. The icon will be automatically changed whenever a relevant change is made to the element.

Returns:
icon base
See Also:
AbstractNode.setIconBase(java.lang.String)

getIconAffectingProperties

protected String[] getIconAffectingProperties()
Get the names of all element properties which might affect the choice of icon. The default implementation just returns ElementProperties.PROP_MODIFIERS.

Returns:
the property names, from ElementProperties

getElementFormat

public final ElementFormat getElementFormat()
Get a format for the element's display name. The display name will be automatically updated whenever a relevant change is made to the element.

Returns:
the format

setElementFormat

public final void setElementFormat(ElementFormat elementFormat)
Set the format for the display name.

Parameters:
elementFormat - the new format
Throws:
IllegalArgumentException - if the format object is inappropriate for this type of Element. No assignment is made in such case.

getHintElementFormat

protected abstract ElementFormat getHintElementFormat()
Get a format for creating this node's short description.


getHelpCtx

public HelpCtx getHelpCtx()
Specified by:
getHelpCtx in interface HelpCtx.Provider

canRename

public boolean canRename()
Test whether this node can be renamed. The default implementation assumes it can if this node is writeable.

Returns:
true if this node can be renamed

canDestroy

public boolean canDestroy()
Test whether this node can be deleted. The default implementation assumes it can if this node is writeable.

Returns:
true if this node can be renamed

clipboardCopy

public Transferable clipboardCopy()
                           throws IOException
Throws:
IOException

clipboardCut

public Transferable clipboardCut()
                          throws IOException
Throws:
IOException

canCopy

public boolean canCopy()
Test whether this node can be copied. The default implementation returns true.

Returns:
true if it can

canCut

public boolean canCut()
Test whether this node can be cut. The default implementation assumes it can if this node is writeable.

Returns:
true if it can

setActions

public void setActions(SystemAction[] actions)
Set all actions for this node.

Parameters:
actions - new list of actions

getCookie

public Node.Cookie getCookie(Class type)
Get a cookie from this node. First tries the node itself, then Element.getCookie(java.lang.Class). Since Element implements Node.Cookie, it is possible to find the element from a node using code such as:

 Node someNode = ...;
 MethodElement element = (MethodElement) someNode.getCookie (MethodElement.class);
 if (element != null) { ... }
 

Parameters:
type - the cookie class
Returns:
the cookie or null

equals

public boolean equals(Object o)
Test for equality.

Returns:
true if the represented Elements are equal

hashCode

public int hashCode()
Get a hash code.

Returns:
the hash code from the represented Element

getHandle

public Node.Handle getHandle()
Get a handle. If this is part of a hierarchy and its position can be stored, this is done. Otherwise the handle will restore using the default factory.


getPropertySets

public Node.PropertySet[] getPropertySets()

 

Built on May 3 2007.  |  Portions Copyright 1997-2005 Sun Microsystems, Inc. All rights reserved.