de.grogra.pf.registry
Class Item

java.lang.Object
  extended by de.grogra.graph.impl.Edge
      extended by de.grogra.graph.impl.Node
          extended by de.grogra.pf.registry.Item
All Implemented Interfaces:
Manageable, PersistenceCapable, Shareable, RegistryContext, UserFields, XObject, Described, Map, java.io.Serializable
Direct Known Subclasses:
Application, Argument, AttributeItem, CheckBoxItem, Directory, DTDSourceFile, Executable, Expression, FileTypeItem, FilterItem, FloatingWindow, Group, Layout, Library, Link, MainWindow, MimeTypeItem, MTGSourceFile, ObjectItem, OptionGroup, PanelFactory, PluginDescriptor, Prerequisite, PropertyEditor, ResourceDirectory, Root, Separator, SourceFile, Split, Tab, ToolFactory, UIPropertyDependency, ViewComponentFactory

public class Item
extends Node
implements Described, RegistryContext

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
 
Nested classes/interfaces inherited from interface de.grogra.util.Map
Map.Chain
 
Field Summary
static Node.NType $TYPE
           
 
Fields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MIME_TYPE, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, USED_BITS
 
Fields inherited from interface de.grogra.util.Described
ACCELERATOR_KEY, ICON, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, TITLE
 
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
 
Constructor Summary
Item(java.lang.String key)
           
Item(java.lang.String key, boolean isDirectory)
           
 
Method Summary
 void activate()
           
protected  void activateImpl()
           
 Item add(int index, Item item)
           
 Item add(Item item)
           
protected static void addPluginPrerequisite(java.util.Collection list, java.lang.Class cls)
           
 void addPluginPrerequisites(java.util.Collection list)
           
 void addRequiredFiles(java.util.Collection list)
           
 Item addUserItem(Item item)
           
 Item addUserItemWithUniqueName(Item item, java.lang.String name)
           
 Item addWithUniqueName(Item item, java.lang.String name, boolean human)
           
 void beginXA()
           
 java.lang.Class classForName(java.lang.String name, boolean initialize)
           
 void commitXA(boolean activateItems)
           
protected  Item createItem(PersistenceBindings pb, java.lang.String name)
           
 void deactivate()
           
protected  void deactivateImpl()
           
 ObjectList deriveItems(ItemVisitor callback, java.lang.Object info)
           
protected  void dupUnmanagedFields(Node original)
           
 boolean equals(ManageableType.Field field, java.lang.Object o1, java.lang.Object o2)
           
 Item[] findAll(ItemCriterion c, java.lang.Object info, boolean resolve)
           
static Item[] findAll(Item root, ItemCriterion c, java.lang.Object info, boolean resolve)
           
static Item[] findAll(RegistryContext ctx, java.lang.String root, ItemCriterion c, java.lang.Object info, boolean resolve)
           
 Item findFirst(ItemCriterion c, java.lang.Object info, boolean resolve)
           
static Item findFirst(Item root, ItemCriterion c, java.lang.Object info, boolean resolve)
           
static Item findFirst(RegistryContext ctx, java.lang.String root, ItemCriterion c, java.lang.Object info, boolean resolve)
           
 Item findMax(ItemComparator c, java.lang.Object info, boolean resolve)
           
static Item findMax(Item root, ItemComparator c, java.lang.Object info, boolean resolve)
           
static Item findMax(RegistryContext ctx, java.lang.String root, ItemComparator c, java.lang.Object info, boolean resolve)
           
 void forAll(ItemCriterion c, java.lang.Object info, ItemVisitor cb, java.lang.Object cbInfo, boolean resolve)
           
static void forAll(Item root, ItemCriterion c, java.lang.Object info, ItemVisitor cb, java.lang.Object cbInfo, boolean resolve)
           
static void forAll(RegistryContext ctx, java.lang.String root, ItemCriterion c, java.lang.Object info, ItemVisitor cb, java.lang.Object cbInfo, boolean resolve)
           
 java.lang.Object get(java.lang.Object key, java.lang.Object defaultValue)
          Returns the value associated with key.
 java.lang.String getAbsoluteName()
           
 AttributeAccessor getAccessor(Attribute attribute)
           
 AttributeAccessor getAccessor(java.lang.String name)
           
 Attribute[] getAttributes()
           
protected  void getAttributes(org.xml.sax.helpers.AttributesImpl attr, XMLPersistenceWriter w)
           
 java.lang.ClassLoader getClassLoader()
           
protected  java.lang.Object getDefaultDescription(java.lang.String type)
           
 java.lang.Object getDefaultValue(Node.NType.Field field)
           
protected  java.lang.Object getDerivedDescription(java.lang.String type)
           
 java.lang.Object getDescription(java.lang.String type)
          Returns the description associated with the given type.
protected  java.lang.Object getDescriptionImpl(java.lang.String type)
           
 java.lang.Object getFromResource(java.lang.String key)
           
 I18NBundle getI18NBundle()
           
 Item getItem(java.lang.CharSequence key)
           
 java.lang.Object getLock()
           
protected  Node.NType getNTypeImpl()
          This method returns the Node.NType which describes the managed fields of the class of this node.
protected  Map getParentMap()
           
 Item[] getPath()
           
 PluginDescriptor getPluginDescriptor()
           
 Registry getRegistry()
          Returns the Registry which is linked with this instance.
 Item getRoot()
           
 Transaction getTransaction()
           
 java.lang.String getUniqueName(java.lang.String name, boolean human)
           
 java.lang.Object getWriteLock()
           
 boolean hasEditableOptions()
           
 Item initPluginDescriptor(PluginDescriptor plugin)
           
 boolean isActivated()
           
 boolean isDirectory()
           
 boolean isEditable(Field field)
           
 boolean isOptionCategory()
           
 boolean isPluginItem(java.lang.String pluginId, java.lang.String name)
           
 boolean isUserItem()
           
 Item makeUserItem(boolean recursive)
           
protected  Node newInstance()
          This method returns a new instance of the class of this node.
protected  java.lang.String paramString()
          Computes the class-specific part of the string returned by Node.toString() which shall be enclosed in brackets.
protected  boolean readAttribute(java.lang.String uri, java.lang.String name, java.lang.String value)
           
 void remove()
           
static void removeDerivedItems(Registry r, ObjectList items)
           
static Item resolveItem(RegistryContext ctx, java.lang.String key)
           
 Item resolveLink(RegistryContext ctx)
           
protected  void set(ManageableType.Field field, int[] indices, java.lang.Object value)
           
 void setDefaultDescription(Described descr)
           
 void setDescription(Described description)
           
 void setDescription(java.lang.String type, java.lang.Object value)
           
protected  void setDirectory()
           
 void setName(java.lang.String name)
          Sets the name of this node.
protected static void setNameIfNull(Item item, java.lang.String name)
           
 void setOption(java.lang.String key, java.lang.Object value)
           
 void substitute(Item prev)
           
 boolean validate()
           
 
Methods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, edgeChanged, fieldModified, findAdjacent, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getShort, getSource, getStamp, getSuccessor, getSymbol, getSymbolColor, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setLayer, setMark, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplace
 
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
 

Field Detail

$TYPE

public static final Node.NType $TYPE
Constructor Detail

Item

public Item(java.lang.String key)

Item

public Item(java.lang.String key,
            boolean isDirectory)
Method Detail

activate

public final void activate()

activateImpl

protected void activateImpl()

add

public final Item add(int index,
                      Item item)

add

public final Item add(Item item)

addPluginPrerequisite

protected static void addPluginPrerequisite(java.util.Collection list,
                                            java.lang.Class cls)

addPluginPrerequisites

public void addPluginPrerequisites(java.util.Collection list)

addRequiredFiles

public void addRequiredFiles(java.util.Collection list)

addUserItem

public final Item addUserItem(Item item)

addUserItemWithUniqueName

public final Item addUserItemWithUniqueName(Item item,
                                            java.lang.String name)

addWithUniqueName

public final Item addWithUniqueName(Item item,
                                    java.lang.String name,
                                    boolean human)

beginXA

public final void beginXA()

classForName

public java.lang.Class classForName(java.lang.String name,
                                    boolean initialize)
                             throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

commitXA

public final void commitXA(boolean activateItems)

createItem

protected Item createItem(PersistenceBindings pb,
                          java.lang.String name)
                   throws java.lang.reflect.InvocationTargetException,
                          java.lang.InstantiationException,
                          java.lang.IllegalAccessException,
                          java.lang.ClassNotFoundException
Throws:
java.lang.reflect.InvocationTargetException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.ClassNotFoundException

deactivate

public final void deactivate()

deactivateImpl

protected void deactivateImpl()

deriveItems

public final ObjectList deriveItems(ItemVisitor callback,
                                    java.lang.Object info)

dupUnmanagedFields

protected void dupUnmanagedFields(Node original)
Overrides:
dupUnmanagedFields in class Node

equals

public boolean equals(ManageableType.Field field,
                      java.lang.Object o1,
                      java.lang.Object o2)

findAll

public Item[] findAll(ItemCriterion c,
                      java.lang.Object info,
                      boolean resolve)

findAll

public static Item[] findAll(Item root,
                             ItemCriterion c,
                             java.lang.Object info,
                             boolean resolve)

findAll

public static Item[] findAll(RegistryContext ctx,
                             java.lang.String root,
                             ItemCriterion c,
                             java.lang.Object info,
                             boolean resolve)

findFirst

public Item findFirst(ItemCriterion c,
                      java.lang.Object info,
                      boolean resolve)

findFirst

public static Item findFirst(Item root,
                             ItemCriterion c,
                             java.lang.Object info,
                             boolean resolve)

findFirst

public static Item findFirst(RegistryContext ctx,
                             java.lang.String root,
                             ItemCriterion c,
                             java.lang.Object info,
                             boolean resolve)

findMax

public Item findMax(ItemComparator c,
                    java.lang.Object info,
                    boolean resolve)

findMax

public static Item findMax(Item root,
                           ItemComparator c,
                           java.lang.Object info,
                           boolean resolve)

findMax

public static Item findMax(RegistryContext ctx,
                           java.lang.String root,
                           ItemComparator c,
                           java.lang.Object info,
                           boolean resolve)

forAll

public void forAll(ItemCriterion c,
                   java.lang.Object info,
                   ItemVisitor cb,
                   java.lang.Object cbInfo,
                   boolean resolve)

forAll

public static void forAll(Item root,
                          ItemCriterion c,
                          java.lang.Object info,
                          ItemVisitor cb,
                          java.lang.Object cbInfo,
                          boolean resolve)

forAll

public static void forAll(RegistryContext ctx,
                          java.lang.String root,
                          ItemCriterion c,
                          java.lang.Object info,
                          ItemVisitor cb,
                          java.lang.Object cbInfo,
                          boolean resolve)

get

public java.lang.Object get(java.lang.Object key,
                            java.lang.Object defaultValue)
Description copied from interface: Map
Returns the value associated with key. If there is no value associated with key, defaultValue is returned.

Specified by:
get in interface Map
Overrides:
get in class Node
Parameters:
key - a key for the map
defaultValue - the default value
Returns:
the associated value, or defaultValue

getAbsoluteName

public final java.lang.String getAbsoluteName()

getAccessor

public AttributeAccessor getAccessor(Attribute attribute)
Overrides:
getAccessor in class Node

getAccessor

public AttributeAccessor getAccessor(java.lang.String name)
Overrides:
getAccessor in class Node

getAttributes

public Attribute[] getAttributes()
Overrides:
getAttributes in class Node

getAttributes

protected void getAttributes(org.xml.sax.helpers.AttributesImpl attr,
                             XMLPersistenceWriter w)
                      throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

getClassLoader

public java.lang.ClassLoader getClassLoader()

getDefaultDescription

protected java.lang.Object getDefaultDescription(java.lang.String type)

getDefaultValue

public java.lang.Object getDefaultValue(Node.NType.Field field)

getDerivedDescription

protected java.lang.Object getDerivedDescription(java.lang.String type)

getDescription

public final java.lang.Object getDescription(java.lang.String type)
Description copied from interface: Described
Returns the description associated with the given type. type has to be one of the predefined constants of this interface, the returned value has to conform to the specification of the used constant.

Specified by:
getDescription in interface Described
Parameters:
type - the type of description
Returns:
the description, or null if no description is available

getDescriptionImpl

protected java.lang.Object getDescriptionImpl(java.lang.String type)

getFromResource

public java.lang.Object getFromResource(java.lang.String key)

getI18NBundle

public I18NBundle getI18NBundle()

getItem

public final Item getItem(java.lang.CharSequence key)

getLock

public final java.lang.Object getLock()

getNTypeImpl

protected Node.NType getNTypeImpl()
Description copied from class: Node
This method returns the Node.NType which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
getNTypeImpl in class Node
Returns:
type describing the managed fields of the class of this node

getParentMap

protected Map getParentMap()

getPath

public final Item[] getPath()

getPluginDescriptor

public final PluginDescriptor getPluginDescriptor()

getRegistry

public final Registry getRegistry()
Description copied from interface: RegistryContext
Returns the Registry which is linked with this instance.

Specified by:
getRegistry in interface RegistryContext
Returns:
the registry linked with this instance

getRoot

public final Item getRoot()

getTransaction

public final Transaction getTransaction()

getUniqueName

public java.lang.String getUniqueName(java.lang.String name,
                                      boolean human)

getWriteLock

public final java.lang.Object getWriteLock()

hasEditableOptions

public boolean hasEditableOptions()

initPluginDescriptor

public Item initPluginDescriptor(PluginDescriptor plugin)

isActivated

public final boolean isActivated()

isDirectory

public boolean isDirectory()

isEditable

public boolean isEditable(Field field)

isOptionCategory

public boolean isOptionCategory()

isPluginItem

public final boolean isPluginItem(java.lang.String pluginId,
                                  java.lang.String name)

isUserItem

public final boolean isUserItem()

makeUserItem

public final Item makeUserItem(boolean recursive)

newInstance

protected Node newInstance()
Description copied from class: Node
This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
newInstance in class Node
Returns:
new instance of class of this node

paramString

protected java.lang.String paramString()
Description copied from class: Node
Computes the class-specific part of the string returned by Node.toString() which shall be enclosed in brackets. This should be used to show important properties of this node.

Overrides:
paramString in class Node
Returns:
string describing some important properties of this node

readAttribute

protected boolean readAttribute(java.lang.String uri,
                                java.lang.String name,
                                java.lang.String value)
                         throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

remove

public final void remove()

removeDerivedItems

public static final void removeDerivedItems(Registry r,
                                            ObjectList items)

resolveItem

public static Item resolveItem(RegistryContext ctx,
                               java.lang.String key)

resolveLink

public Item resolveLink(RegistryContext ctx)

set

protected final void set(ManageableType.Field field,
                         int[] indices,
                         java.lang.Object value)

setDefaultDescription

public void setDefaultDescription(Described descr)

setDescription

public void setDescription(Described description)

setDescription

public void setDescription(java.lang.String type,
                           java.lang.Object value)

setDirectory

protected void setDirectory()

setName

public void setName(java.lang.String name)
Description copied from class: Node
Sets the name of this node.

Overrides:
setName in class Node
Parameters:
name - new name of node, may be null
See Also:
Node.getName()

setNameIfNull

protected static final void setNameIfNull(Item item,
                                          java.lang.String name)

setOption

public void setOption(java.lang.String key,
                      java.lang.Object value)

substitute

public void substitute(Item prev)

validate

public boolean validate()