2.17.2: 2011-06-17

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

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

public class ExperimentalFactorLoader
extends BasicItemNodeLoader<AnnotationType>

Node loader implementation for experimental factors. The annotation types used as experimental factors are loaded as property-type child nodes of an experiment.

Version:
2.10
Author:
Nicklas
Last modified
$Date: 2009-02-05 14:39:25 +0100 (Thu, 05 Feb 2009) $

Field Summary
 
Fields inherited from class net.sf.basedb.util.overview.loader.BasicItemNodeLoader
ALLOW_ROOT_NODE, allowAsRootNode, DENY_ROOT_NODE, factoryKey, nameGenerator
 
Constructor Summary
ExperimentalFactorLoader()
           
 
Method Summary
 Node createPropertyNode(DbControl dc, OverviewContext context, Node experimentNode)
          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

ExperimentalFactorLoader

public ExperimentalFactorLoader()
Method Detail

createPropertyNode

public Node createPropertyNode(DbControl dc,
                               OverviewContext context,
                               Node experimentNode)
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<AnnotationType>
Overrides:
createPropertyNode in class AbstractNodeLoader<AnnotationType>
Parameters:
dc - The DbControl to use for database access
context - The overview context
experimentNode - The parent node
Returns:
A node (may be a folder-type node with many subnodes), or null

2.17.2: 2011-06-17