gov.nih.nci.caarray.domain.project
Class Experiment

java.lang.Object
  extended by gov.nih.nci.caarray.domain.AbstractCaArrayObject
      extended by gov.nih.nci.caarray.domain.AbstractCaArrayEntity
          extended by gov.nih.nci.caarray.domain.project.Experiment
All Implemented Interfaces:
com.fiveamsolutions.nci.commons.data.persistent.PersistentObject, java.io.Serializable

@UniqueConstraint(fields=@UniqueConstraintField(name="publicIdentifier"))
public class Experiment
extends AbstractCaArrayEntity

See Also:
Serialized Form

Field Summary
static java.lang.String BIOMATERIAL_FILTER_NAME
          Biomaterial Filter name.
static java.lang.String EXTRACTS_FILTER
           
static java.lang.String LABELED_EXTRACTS_FILTER
           
static java.lang.String SAMPLES_FILTER
           
static java.lang.String SECURITY_FILTER_NAME
          Filter name used for instance level security filters.
 
Fields inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayEntity
CAARRAY_LSID_AUTHORITY, CAARRAY_LSID_NAMESPACE
 
Fields inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayObject
DEFAULT_BATCH_SIZE, DEFAULT_STRING_COLUMN_SIZE, LARGE_TEXT_FIELD_LENGTH
 
Constructor Summary
Experiment()
           
 
Method Summary
 java.util.Set<ArrayDesign> getArrayDesigns()
          Gets the arrayDesigns.
 java.util.Set<ArrayDesign> getArrayDesignsFromHybs()
           
 java.util.Set<Array> getArrays()
          Gets the arrays.
 java.util.SortedSet<AssayType> getAssayTypes()
          Gets the assay type for this Experiment.
 java.util.Date getDate()
          Gets the date of this Experiment.
 java.lang.String getDescription()
          Gets the description.
 java.lang.String getDesignDescription()
          Get the description of the experiment design.
 java.util.List<ExperimentContact> getExperimentContacts()
          Gets the experimentContacts.
 java.util.Set<Term> getExperimentDesignTypes()
           
 Extract getExtractByName(java.lang.String extractName)
          Return the extract with given name in this experiment.
 java.util.Set<Extract> getExtracts()
          Gets the extracts.
 java.util.Set<Factor> getFactors()
          Gets the factors.
 Hybridization getHybridizationByName(java.lang.String hybridizationName)
          Return the hybridization with given name in this experiment.
 java.util.Set<Hybridization> getHybridizations()
           
 LabeledExtract getLabeledExtractByName(java.lang.String labeledExtractName)
          Return the labeled extract with given name in this experiment.
 java.util.Set<LabeledExtract> getLabeledExtracts()
          Gets the labeledExtracts.
 java.util.Date getLastDataModificationDate()
           
 ExperimentContact getMainPointOfContact()
          Gets the ExperimentContact corresponding to the Main POC for the experiment.
 Organization getManufacturer()
          Gets the manufacturer for this Experiment.
 java.util.Set<Term> getNormalizationTypes()
          Gets the normalizationTypes.
 Organism getOrganism()
          Gets the organism for this Experiment.
 ExperimentContact getPrimaryInvestigator()
          Gets the ExperimentContact corresponding to the PI for the experiment.
 int getPrimaryInvestigatorCount()
          Gets the number of PI for the experiment.
 Project getProject()
           
 java.util.Set<Publication> getPublications()
          Gets the samples.
 java.lang.String getPublicIdentifier()
          Gets a human readable public identifier for this project.
 java.util.Date getPublicReleaseDate()
          Gets the publicReleaseDate.
 java.lang.String getQualityControlDescription()
           
 java.util.Set<Term> getQualityControlTypes()
          Gets the qualityControlTypes.
 java.util.Set<gov.nih.nci.caarray.security.SecurityPolicy> getRemoteApiSecurityPolicies(gov.nih.nci.security.authorization.domainobjects.User user)
          Return the set of security policies that should be applied to this object prior to it being returned as part of a return value for a remote API call.
 java.lang.String getReplicateDescription()
           
 java.util.Set<Term> getReplicateTypes()
          Gets the replicateTypes.
 Sample getSampleByName(java.lang.String sampleName)
          Return the sample with given name in this experiment.
 int getSampleCount()
           
 java.util.Set<Sample> getSamples()
          Gets the samples.
 Source getSourceByName(java.lang.String sourceName)
          Return the source with given name in this experiment.
 java.util.Set<Source> getSources()
          Gets the sources.
 java.lang.String getTitle()
          Gets the title.
 boolean hasParsedArrayDesigns()
           
 void setArrayDesigns(java.util.Set<ArrayDesign> arrayDesignsVal)
          Sets the arrayDesigns.
 void setAssayTypes(java.util.SortedSet<AssayType> assayTypes)
           
 void setDate(java.util.Date date)
          Sets the date of this Experiment.
 void setDescription(java.lang.String descriptionVal)
          Sets the description.
 void setDesignDescription(java.lang.String designDescription)
          Set the description of the experiment design.
 void setExperimentDesignTypes(java.util.Set<Term> experimentDesignTypes)
           
 void setLastDataModificationDate(java.util.Date lastDataModificationDate)
           
 void setManufacturer(Organization manufacturer)
          Sets the manufacturer for this Experiment.
 void setOrganism(Organism organism)
          Sets the organism for this Experiment.
 void setProject(Project project)
           
 void setPublicIdentifier(java.lang.String publicId)
           
 void setPublicReleaseDate(java.util.Date publicReleaseDateVal)
          Sets the publicReleaseDate.
 void setQualityControlDescription(java.lang.String qualityControlDescription)
           
 void setQualityControlTypes(java.util.Set<Term> qualityControlTypesVal)
          Sets the qualityControlTypes.
 void setReplicateDescription(java.lang.String replicateDescription)
           
 void setReplicateTypes(java.util.Set<Term> replicateTypesVal)
          Sets the replicateTypes.
 void setTitle(java.lang.String titleVal)
          Sets the title.
 java.lang.String toString()
          
 
Methods inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayEntity
getLsid, getLsidAuthority, getLsidNamespace, getLsidObjectId, setLsid, setLsid, setLsidForEntity
 
Methods inherited from class gov.nih.nci.caarray.domain.AbstractCaArrayObject
equals, getCaBigId, getId, getPostLoadSecurityPolicies, hashCode, setCaBigId, setId
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

BIOMATERIAL_FILTER_NAME

public static final java.lang.String BIOMATERIAL_FILTER_NAME
Biomaterial Filter name.

See Also:
Constant Field Values

SECURITY_FILTER_NAME

public static final java.lang.String SECURITY_FILTER_NAME
Filter name used for instance level security filters.

See Also:
Constant Field Values

SAMPLES_FILTER

public static final java.lang.String SAMPLES_FILTER
See Also:
Constant Field Values

EXTRACTS_FILTER

public static final java.lang.String EXTRACTS_FILTER
See Also:
Constant Field Values

LABELED_EXTRACTS_FILTER

public static final java.lang.String LABELED_EXTRACTS_FILTER
See Also:
Constant Field Values
Constructor Detail

Experiment

public Experiment()
Method Detail

getRemoteApiSecurityPolicies

public java.util.Set<gov.nih.nci.caarray.security.SecurityPolicy> getRemoteApiSecurityPolicies(gov.nih.nci.security.authorization.domainobjects.User user)
Return the set of security policies that should be applied to this object prior to it being returned as part of a return value for a remote API call.

Overrides:
getRemoteApiSecurityPolicies in class AbstractCaArrayObject
Parameters:
user - the current user.
Returns:
the set of policies to apply to this object, given the current user.

getDate

@AttributePolicy(allow="Browse")
public java.util.Date getDate()
Gets the date of this Experiment.

Returns:
the date of this Experiment

setDate

public void setDate(java.util.Date date)
Sets the date of this Experiment.

Parameters:
date - the date of this Experiment

getDescription

@Length(max=2000)
@AttributePolicy(allow="Browse")
public java.lang.String getDescription()
Gets the description.

Returns:
the description

setDescription

public void setDescription(java.lang.String descriptionVal)
Sets the description.

Parameters:
descriptionVal - the description

getPublicReleaseDate

public java.util.Date getPublicReleaseDate()
Gets the publicReleaseDate.

Returns:
the publicReleaseDate

setPublicReleaseDate

public void setPublicReleaseDate(java.util.Date publicReleaseDateVal)
Sets the publicReleaseDate.

Parameters:
publicReleaseDateVal - the publicReleaseDate

getTitle

@Length(min=1,
        max=254)
@NotNull
@AttributePolicy(allow="Browse")
public java.lang.String getTitle()
Gets the title.

Returns:
the title

setTitle

public void setTitle(java.lang.String titleVal)
Sets the title.

Parameters:
titleVal - the title

getPublicIdentifier

@AttributePolicy(allow="Browse")
public java.lang.String getPublicIdentifier()
Gets a human readable public identifier for this project. This is an autogenerated identifier that can be used to refer to the project in publications, and would be expected to be a component of a permalink url pointing to the project. The database ID of the experiment is used to contruct this identifier. Prior to version 3.4.0, this value was of the form xxxxx-11111, where xxxxx is the first 5 characters of the PI last name, and 11111 is a 5-digit auto number based on the persistent identifier of the project Note that this public identifier is available only once the project has been made persistent (ie its id is not null). Before that, this will return null

Returns:
the public identifier if this project is persistent, null otherwise

setPublicIdentifier

public void setPublicIdentifier(java.lang.String publicId)
Parameters:
publicId - the publicId to set. should only be used by hibernate and struts

getPrimaryInvestigator

public ExperimentContact getPrimaryInvestigator()
Gets the ExperimentContact corresponding to the PI for the experiment.

Returns:
the PI ExperimentContact, or null if there isn't one

getPrimaryInvestigatorCount

public int getPrimaryInvestigatorCount()
Gets the number of PI for the experiment.

Returns:
the number of Primary Investigators for Experiment

getMainPointOfContact

public ExperimentContact getMainPointOfContact()
Gets the ExperimentContact corresponding to the Main POC for the experiment.

Returns:
the Main POC ExperimentContact, or null if there isn't

getAssayTypes

@AttributePolicy(allow="Browse")
public java.util.SortedSet<AssayType> getAssayTypes()
Gets the assay type for this Experiment.

Returns:
the assay type

setAssayTypes

public void setAssayTypes(java.util.SortedSet<AssayType> assayTypes)
Parameters:
assayTypes - the assayTypes to set

getManufacturer

@AttributePolicy(allow="Browse")
public Organization getManufacturer()
Gets the manufacturer for this Experiment.

Returns:
the manufacturer

setManufacturer

public void setManufacturer(Organization manufacturer)
Sets the manufacturer for this Experiment.

Parameters:
manufacturer - the manufacturer to set

getOrganism

@NotNull
@AttributePolicy(allow="Browse")
public Organism getOrganism()
Gets the organism for this Experiment.

Returns:
the organism

setOrganism

public void setOrganism(Organism organism)
Sets the organism for this Experiment.

Parameters:
organism - the organism to set

getQualityControlTypes

public java.util.Set<Term> getQualityControlTypes()
Gets the qualityControlTypes.

Returns:
the qualityControlTypes

setQualityControlTypes

public void setQualityControlTypes(java.util.Set<Term> qualityControlTypesVal)
Sets the qualityControlTypes.

Parameters:
qualityControlTypesVal - the qualityControlTypes

getPublications

public java.util.Set<Publication> getPublications()
Gets the samples.

Returns:
the samples

getReplicateTypes

public java.util.Set<Term> getReplicateTypes()
Gets the replicateTypes.

Returns:
the replicateTypes

setReplicateTypes

public void setReplicateTypes(java.util.Set<Term> replicateTypesVal)
Sets the replicateTypes.

Parameters:
replicateTypesVal - the replicateTypes

getSources

public java.util.Set<Source> getSources()
Gets the sources.

Returns:
the sources

getSamples

public java.util.Set<Sample> getSamples()
Gets the samples.

Returns:
the samples

getSampleCount

public int getSampleCount()
Returns:
the number of samples in this experiment

getExtracts

public java.util.Set<Extract> getExtracts()
Gets the extracts.

Returns:
the extracts

getLabeledExtracts

public java.util.Set<LabeledExtract> getLabeledExtracts()
Gets the labeledExtracts.

Returns:
the labeledExtracts

getArrayDesigns

@AttributePolicy(allow="Browse")
public java.util.Set<ArrayDesign> getArrayDesigns()
Gets the arrayDesigns.

Returns:
the arrayDesigns

setArrayDesigns

public void setArrayDesigns(java.util.Set<ArrayDesign> arrayDesignsVal)
Sets the arrayDesigns.

Parameters:
arrayDesignsVal - the arrayDesigns

getExperimentContacts

@AttributePolicy(allow="Browse")
public java.util.List<ExperimentContact> getExperimentContacts()
Gets the experimentContacts.

Returns:
the experimentContacts

getExperimentDesignTypes

public java.util.Set<Term> getExperimentDesignTypes()
Returns:
the experimentDesignType

setExperimentDesignTypes

public void setExperimentDesignTypes(java.util.Set<Term> experimentDesignTypes)
Parameters:
experimentDesignTypes - the experimentDesignTypes to set

getDesignDescription

@Length(min=1,
        max=2000)
public java.lang.String getDesignDescription()
Get the description of the experiment design.

Returns:
the designDescription

setDesignDescription

public void setDesignDescription(java.lang.String designDescription)
Set the description of the experiment design.

Parameters:
designDescription - the designDescription to set

getQualityControlDescription

@Length(max=2000)
public java.lang.String getQualityControlDescription()
Returns:
the qualityControlDescription

setQualityControlDescription

public void setQualityControlDescription(java.lang.String qualityControlDescription)
Parameters:
qualityControlDescription - the qualityControlDescription to set

getReplicateDescription

@Length(max=2000)
public java.lang.String getReplicateDescription()
Returns:
the replicateDescription

setReplicateDescription

public void setReplicateDescription(java.lang.String replicateDescription)
Parameters:
replicateDescription - the replicateDescription to set

getFactors

public java.util.Set<Factor> getFactors()
Gets the factors.

Returns:
the factors

getNormalizationTypes

public java.util.Set<Term> getNormalizationTypes()
Gets the normalizationTypes.

Returns:
the normalizationTypes

getArrays

public java.util.Set<Array> getArrays()
Gets the arrays.

Returns:
the arrays

getHybridizations

public java.util.Set<Hybridization> getHybridizations()
Returns:
hybridizations

getProject

@AttributePolicy(allow="Browse")
public Project getProject()
Returns:
the project to which this experiment belongs.

setProject

public void setProject(Project project)
Parameters:
project - the project to set

getArrayDesignsFromHybs

public java.util.Set<ArrayDesign> getArrayDesignsFromHybs()
Returns:
the set of ArrayDesigns actually referenced from some hybridization belonging to the experiment. Note that this is distinct and potentially different that what is returned by getArrayDesigns(). The latter is the set of array designs explicitly specified by the user. It is an invariant, however, that the set returned by this method is a subset of that returned by getArrayDesigns().

toString

public java.lang.String toString()

Overrides:
toString in class AbstractCaArrayObject

getSourceByName

public Source getSourceByName(java.lang.String sourceName)
Return the source with given name in this experiment. If there is none, return null.

Parameters:
sourceName - name of source to find in this experiment
Returns:
the source with given name or null if there is none.

getSampleByName

public Sample getSampleByName(java.lang.String sampleName)
Return the sample with given name in this experiment. If there is none, return null.

Parameters:
sampleName - name of sample to find in this experiment
Returns:
the sample with given name or null if there is none.

getExtractByName

public Extract getExtractByName(java.lang.String extractName)
Return the extract with given name in this experiment. If there is none, return null.

Parameters:
extractName - name of extract to find in this experiment
Returns:
the extract with given name or null if there is none.

getLabeledExtractByName

public LabeledExtract getLabeledExtractByName(java.lang.String labeledExtractName)
Return the labeled extract with given name in this experiment. If there is none, return null.

Parameters:
labeledExtractName - name of labeled extract to find in this experiment
Returns:
the labeledExtract with given name or null if there is none.

getHybridizationByName

public Hybridization getHybridizationByName(java.lang.String hybridizationName)
Return the hybridization with given name in this experiment. If there is none, return null.

Parameters:
hybridizationName - name of hybridization to find in this experiment
Returns:
the hybridization with given name or null if there is none.

hasParsedArrayDesigns

public boolean hasParsedArrayDesigns()
Returns:
whether this experiment has any imported and parsed array designs

getLastDataModificationDate

@AttributePolicy(allow="Browse")
public java.util.Date getLastDataModificationDate()
Returns:
the date when the data of this experiment was last modified.

setLastDataModificationDate

public void setLastDataModificationDate(java.util.Date lastDataModificationDate)
Parameters:
lastDataModificationDate - the lastDataModificationDate to set.