2.10.0: 2009-02-24

net.sf.basedb.util
Class BioAssaySetUtil

java.lang.Object
  extended by net.sf.basedb.util.BioAssaySetUtil

public class BioAssaySetUtil
extends Object

This is a utility class for BioAssaySet.

Version:
2.0
Author:
Johan
Last modified
$Date: 2008-09-11 22:08:14 +0200 (Thu, 11 Sep 2008) $

Constructor Summary
BioAssaySetUtil()
           
 
Method Summary
static Expression createJepExpression(DbControl dc, BioAssaySet bioAssaySet, String formula, boolean allowRawIfMultipleMappings)
          Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query.
static Restriction createJepRestriction(DbControl dc, BioAssaySet bioAssaySet, String formula, boolean allowRawIfMultipleMappings)
          Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query.
static Set<?> getAnnotationValues(DbControl dc, BioAssay bioAssay, AnnotationType annotationType)
          Find the annotation values for a given annotation type on a bioassay.
static Set<Object> getParentProperties(DbControl dc, BioAssay bioAssay, String property)
          Find the values of parent properties for a given bioassay.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BioAssaySetUtil

public BioAssaySetUtil()
Method Detail

getAnnotationValues

public static Set<?> getAnnotationValues(DbControl dc,
                                         BioAssay bioAssay,
                                         AnnotationType annotationType)
Find the annotation values for a given annotation type on a bioassay. This method will only check annotations, primary and inherited, on the raw bioassays that the bioassay is a child of.

Since a bioassay may have more than one parent raw bioassay and each annotation may have multiple values it is possible that the set contains multiple values. Each value is only present once regardless of how many times it appears in the annotations.

Parameters:
dc - The DbControl for database access
bioAssay - The bioassay to get the annotations for
annotationType - The annotation type of the annotations
Returns:
A set containing all values

getParentProperties

public static Set<Object> getParentProperties(DbControl dc,
                                              BioAssay bioAssay,
                                              String property)
Find the values of parent properties for a given bioassay. This method starts by loading all raw bioassays that are parents to the bioassay. For each raw bioassay it uses the Metadata.getPropertyValue(DbControl, Object, String) method to find the value of the given property for that raw bioassay.

Since a bioassay may have more than one parent raw bioassay and it is possible that the set contains multiple values. Each value is only present once regardless of how many times it appears among the parents.

Examples of property values:

Parameters:
dc - The DbControl for database access
bioAssay - The bioassay to get the annotations for
property - The property to get the value for
Returns:
A set containing all values

createJepRestriction

public static Restriction createJepRestriction(DbControl dc,
                                               BioAssaySet bioAssaySet,
                                               String formula,
                                               boolean allowRawIfMultipleMappings)
                                        throws InvalidDataException,
                                               BaseException
Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query. In addition to the standard functions defined by JEP (see Jep.getFunctions()) this method defines the following functions:

Parameters:
dc - DbControl to use when accessing the database.
bioAssaySet - The current bioassay set. Must not be null.
formula - The formula to parse. Must not be null.
allowRawIfMultipleMappings - TRUE if 'raw' function with merged data, FALSE otherwise.
Returns:
A restriction to be used on a query.
Throws:
InvalidDataException - If any of required parameters are null.
BaseException - If creating the restriction fails.
See Also:
Jep

createJepExpression

public static Expression createJepExpression(DbControl dc,
                                             BioAssaySet bioAssaySet,
                                             String formula,
                                             boolean allowRawIfMultipleMappings)
                                      throws InvalidDataException,
                                             BaseException
Parse a JEP expression and create a restrictions that is suitable to be used in a dynamic query. In addition to the standard functions defined by JEP (see Jep.getFunctions()) this method defines the following functions:

Parameters:
dc - The DbControl to use when accessing the database.
bioAssaySet - The bioassay set this expression should be used with. Must not be null.
formula - The formula that should be parsed. Must not be null.
allowRawIfMultipleMappings - TRUE if 'raw' function with merged data, FALSE otherwise.
Returns:
An expression to be used with a query.
Throws:
InvalidDataException - If any of required parameters are null.
BaseException - If creating the expression fails.
See Also:
Jep

2.10.0: 2009-02-24