3.0.1: 2011-11-10

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

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

public class DerivedBioAssayLoader
extends BasicItemNodeLoader<DerivedBioAssay>

Since:
3.0
Author:
Nicklas
Last modified
$Date: 2011-10-14 15:08:23 +0200 (Fri, 14 Oct 2011) $

Field Summary
 
Fields inherited from class net.sf.basedb.util.overview.loader.BasicItemNodeLoader
ALLOW_ROOT_NODE, allowAsRootNode, DENY_ROOT_NODE, factoryKey, nameGenerator
 
Constructor Summary
DerivedBioAssayLoader()
           
 
Method Summary
 Node createForwardNode(DbControl dc, OverviewContext context, Node parentNode)
          Create forward-loading bioassay nodes from a given physical bioassay node or a parent derived bioassay set node.
private  Node createForwardNode(DerivedBioAssay parent, DbControl dc, OverviewContext context, Node parentNode)
          Create forward-loading derived bioassay set nodes that have the given derived bioassay set as the parent
private  Node createForwardNode(PhysicalBioAssay bioAssay, DbControl dc, OverviewContext context, Node bioAssayNode)
          Create forward-loading derived bioassay nodes that have the given physical bioassay as the immediate parent (eg. root bioassays).
 Node createReverseNode(DbControl dc, OverviewContext context, Node parentNode)
          Create a reverse-loading bioassay node from a cild bioassay node or a raw bioassay node.
private  Node createReverseNode(DerivedBioAssay child, DbControl dc, OverviewContext context, Node childNode)
          Create a reverse-loading bioassay node for the bioassay that is the parent to the given child bioassay.
private  Node createReverseNode(RawBioAssay raw, DbControl dc, OverviewContext context, Node rawNode)
          Create a reverse-loading bioassay node for the bioassay that is the parent to the given raw bioassay.
 Node createRootNode(DbControl dc, OverviewContext context, DerivedBioAssay item)
          Create a root node for the given item.
private  Extract findExtract(Node node, DerivedBioAssay bioAssay)
          Try to locate the extract we are following by first checking if the node or any of it's parents have a NodeAttribute.EXTRACT attribute set.
protected  void loadForwardChildNodes(DbControl dc, OverviewContext context, Node parentNode)
          Loads all child derived bioassay and raw bioassay nodes.
protected  void loadPropertyChildNodes(DbControl dc, OverviewContext context, Node bioAssayNode)
          Loads property nodes of a derived bioassay set.
protected  void loadReverseChildNodes(DbControl dc, OverviewContext context, Node bioAssayNode)
          Loads the parent bioassay or the parent physical bioassay.
 
Methods inherited from class net.sf.basedb.util.overview.loader.BasicItemNodeLoader
createItemNode, getNodeFactory, getNodeFactory, getNodeLoader, getNodeLoaderFactory, getNodeValidator, getNodeValidatorFactory, postValidateFolder
 
Methods inherited from class net.sf.basedb.util.overview.loader.AbstractNodeLoader
createPropertyNode, loadChildNodes, loadChildNodesOfFolderNode, loadChildNodesOfItemNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DerivedBioAssayLoader

public DerivedBioAssayLoader()
Method Detail

createRootNode

public Node createRootNode(DbControl dc,
                           OverviewContext context,
                           DerivedBioAssay item)
Description copied from interface: NodeLoader
Create a root node for the given item. A root node is a node with no parent. Typically, the direction of the created node is ChildNodeDirection.ALL so that both forward and reverse child nodes are loaded.

Specified by:
createRootNode in interface NodeLoader<DerivedBioAssay>
Overrides:
createRootNode in class BasicItemNodeLoader<DerivedBioAssay>
Parameters:
dc - The DbControl to use for database access
context - The overview context
item - The root item
Returns:
A root node

createForwardNode

public Node createForwardNode(DbControl dc,
                              OverviewContext context,
                              Node parentNode)
Create forward-loading bioassay nodes from a given physical bioassay node or a parent derived bioassay set node. The returned node is a folder-type node containing item nodes for each bioassay set.

Specified by:
createForwardNode in interface NodeLoader<DerivedBioAssay>
Overrides:
createForwardNode in class AbstractNodeLoader<DerivedBioAssay>
Parameters:
dc - The DbControl to use for database access
context - The overview context
parentNode - The parent node
Returns:
The folder node for the bioassay sets

createReverseNode

public Node createReverseNode(DbControl dc,
                              OverviewContext context,
                              Node parentNode)
Create a reverse-loading bioassay node from a cild bioassay node or a raw bioassay node.

Specified by:
createReverseNode in interface NodeLoader<DerivedBioAssay>
Overrides:
createReverseNode in class AbstractNodeLoader<DerivedBioAssay>
Parameters:
dc - The DbControl to use for database access
context - The overview context
parentNode - The child node
Returns:
A bioassay node, or null if the raw bioassay doesn't have a parent bioassay

loadPropertyChildNodes

protected void loadPropertyChildNodes(DbControl dc,
                                      OverviewContext context,
                                      Node bioAssayNode)
Loads property nodes of a derived bioassay set.

Overrides:
loadPropertyChildNodes in class AbstractNodeLoader<DerivedBioAssay>

loadForwardChildNodes

protected void loadForwardChildNodes(DbControl dc,
                                     OverviewContext context,
                                     Node parentNode)
Loads all child derived bioassay and raw bioassay nodes.

Overrides:
loadForwardChildNodes in class AbstractNodeLoader<DerivedBioAssay>
See Also:
createForwardNode(DbControl, OverviewContext, Node), RawBioAssayLoader.createForwardNode(DbControl, OverviewContext, Node)

loadReverseChildNodes

protected void loadReverseChildNodes(DbControl dc,
                                     OverviewContext context,
                                     Node bioAssayNode)
Loads the parent bioassay or the parent physical bioassay.

Overrides:
loadReverseChildNodes in class AbstractNodeLoader<DerivedBioAssay>
See Also:
PhysicalBioAssayLoader.createReverseNode(DbControl, OverviewContext, Node), createReverseNode(DbControl, OverviewContext, Node)

createForwardNode

private Node createForwardNode(PhysicalBioAssay bioAssay,
                               DbControl dc,
                               OverviewContext context,
                               Node bioAssayNode)
Create forward-loading derived bioassay nodes that have the given physical bioassay as the immediate parent (eg. root bioassays).


createForwardNode

private Node createForwardNode(DerivedBioAssay parent,
                               DbControl dc,
                               OverviewContext context,
                               Node parentNode)
Create forward-loading derived bioassay set nodes that have the given derived bioassay set as the parent


createReverseNode

private Node createReverseNode(RawBioAssay raw,
                               DbControl dc,
                               OverviewContext context,
                               Node rawNode)
Create a reverse-loading bioassay node for the bioassay that is the parent to the given raw bioassay.


createReverseNode

private Node createReverseNode(DerivedBioAssay child,
                               DbControl dc,
                               OverviewContext context,
                               Node childNode)
Create a reverse-loading bioassay node for the bioassay that is the parent to the given child bioassay.


findExtract

private Extract findExtract(Node node,
                            DerivedBioAssay bioAssay)
Try to locate the extract we are following by first checking if the node or any of it's parents have a NodeAttribute.EXTRACT attribute set. If not we check if the current bioassay has an extract.

Returns:
The extract or null if none was found

3.0.1: 2011-11-10