com.virtuosotechnologies.lib.basiccommand.builder
Class AbstractElementBuilderNode

java.lang.Object
  extended bycom.virtuosotechnologies.lib.basiccommand.builder.AbstractBuilderNode
      extended bycom.virtuosotechnologies.lib.basiccommand.builder.AbstractElementBuilderNode
All Implemented Interfaces:
EventListener, PropertySetListener
Direct Known Subclasses:
AbstractSwingButtonBuilderNode, ComboBoxMemberBuilderNode, MenuBarGlueBuilderNode, MenuSeparatorBuilderNode, SimpleLabelBuilderNode, ToolBarSeparatorBuilderNode

public abstract class AbstractElementBuilderNode
extends AbstractBuilderNode

A skeletal builder that creates a single leaf object with no children. This needs to be subclassed to implement createInitialElement(), and/or to pass an element into the constructor. Also note that this builder registers itself as a PropertySetListener on the CommandNode, so subclasses do not need to do so again.

A lot of this implementaiton is identical to AbstractContainerElementBuilderNode, but alas, Java lacks multiple implementation inheritance.


Field Summary
 
Fields inherited from class com.virtuosotechnologies.lib.basiccommand.builder.AbstractBuilderNode
END_POSITION
 
Fields inherited from interface com.virtuosotechnologies.lib.container.PropertySetListener
PROPERTYSET_CHANGED_METHOD
 
Constructor Summary
protected AbstractElementBuilderNode(CommandNode commandNode, AbstractBranchBuilderNode parent, int index)
          Constructor
protected AbstractElementBuilderNode(CommandNode commandNode, AbstractBranchBuilderNode parent, int index, Object element)
          Constructor
 
Method Summary
protected abstract  Object createInitialElement()
          Override this method to create the initial element object.
protected  void disabledStateChanged(boolean nowDisabled)
          The disabled state has changed.
protected  int getCardinality()
          Get the cardinality (number of swing objects this node represents).
protected  Object getElement()
          Get the element
protected  void hiddenStateChanged(boolean nowHidden)
          The hidden state has changed.
protected  void setElement(Object element)
          Change the element
 
Methods inherited from class com.virtuosotechnologies.lib.basiccommand.builder.AbstractBuilderNode
decGrayLevel, decMaskLevel, dump, getCommandNode, getParent, incGrayLevel, incMaskLevel, isDisabled, isHidden, propertySetChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractElementBuilderNode

protected AbstractElementBuilderNode(CommandNode commandNode,
                                     AbstractBranchBuilderNode parent,
                                     int index)
Constructor


AbstractElementBuilderNode

protected AbstractElementBuilderNode(CommandNode commandNode,
                                     AbstractBranchBuilderNode parent,
                                     int index,
                                     Object element)
Constructor

Method Detail

getCardinality

protected final int getCardinality()
Get the cardinality (number of swing objects this node represents). Most things have a cardinality of 1. Groups have variable cardinality.

Specified by:
getCardinality in class AbstractBuilderNode

setElement

protected final void setElement(Object element)
Change the element


getElement

protected final Object getElement()
Get the element


hiddenStateChanged

protected void hiddenStateChanged(boolean nowHidden)
The hidden state has changed.

Specified by:
hiddenStateChanged in class AbstractBuilderNode

disabledStateChanged

protected void disabledStateChanged(boolean nowDisabled)
The disabled state has changed.

Specified by:
disabledStateChanged in class AbstractBuilderNode

createInitialElement

protected abstract Object createInitialElement()
Override this method to create the initial element object.