2.17.2: 2011-06-17

net.sf.basedb.util.overview.loader
Class AnnotationLoader

java.lang.Object
  extended by net.sf.basedb.util.overview.loader.AbstractNodeLoader<I>
      extended by net.sf.basedb.util.overview.loader.BasicItemNodeLoader<Annotation>
          extended by net.sf.basedb.util.overview.loader.AnnotationLoader
All Implemented Interfaces:
NodeLoader<Annotation>

public class AnnotationLoader
extends BasicItemNodeLoader<Annotation>

Node loader implementation for annotations. Annotations are loaded as an end-point folder node with one child entry for each annotation. It can never be root node or a forward/reverse-loading node.

Version:
2.10
Author:
Nicklas
Last modified
$Date$

Field Summary
 
Fields inherited from class net.sf.basedb.util.overview.loader.BasicItemNodeLoader
ALLOW_ROOT_NODE, allowAsRootNode, DENY_ROOT_NODE, factoryKey, nameGenerator
 
Constructor Summary
AnnotationLoader()
           
 
Method Summary
 Node createPropertyNode(DbControl dc, OverviewContext context, Node parentNode)
          Create a property node for the given parent node.
 
Methods inherited from class net.sf.basedb.util.overview.loader.BasicItemNodeLoader
createItemNode, createRootNode, getNodeFactory, getNodeFactory, getNodeLoader, getNodeLoaderFactory, getNodeValidator, getNodeValidatorFactory, postValidateFolder
 
Methods inherited from class net.sf.basedb.util.overview.loader.AbstractNodeLoader
createForwardNode, createReverseNode, loadChildNodes, loadChildNodesOfFolderNode, loadChildNodesOfItemNode, loadForwardChildNodes, loadPropertyChildNodes, loadReverseChildNodes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnnotationLoader

public AnnotationLoader()
Method Detail

createPropertyNode

public Node createPropertyNode(DbControl dc,
                               OverviewContext context,
                               Node parentNode)
Description copied from interface: NodeLoader
Create a property node for the given parent node. A property node is a node that is not on the main parent-child path. It is typically a node that can't be used a root node (for example, a protocol or software). If the parent node can have many properties of this type the loader can decide if it should first create a folder-type node and put the children inside the folder, or if all child nodes should be created directly in the parent node. In the first case, the folder node should be returned. In the latter case, null should be returned.

The direction of the node(s) should usually be ChildNodeDirection.NONE, but it may also be ChildNodeDirection.PROPERTY in case the property has sub-properties. One example is the ProtocolLoader which loads the protocol parameters as child nodes.

In case there is an error (permission denied, etc.) ChildNodeDirection.NONE should be used. If there is no property item null should be returned (but this may also indicate that more than one node was created).

Errors, missing items, etc. should be reported as failures to the OverviewContext.

Specified by:
createPropertyNode in interface NodeLoader<Annotation>
Overrides:
createPropertyNode in class AbstractNodeLoader<Annotation>
Parameters:
dc - The DbControl to use for database access
context - The overview context
parentNode - The parent node
Returns:
A node (may be a folder-type node with many subnodes), or null

2.17.2: 2011-06-17