Class ExperimentalFactor

All Implemented Interfaces:
gemma.gsec.model.Securable, gemma.gsec.model.SecuredChild, Securable, SecuredChild<ExpressionExperiment>, Describable, Identifiable

@Indexed public class ExperimentalFactor extends AbstractDescribable implements SecuredChild<ExpressionExperiment>
ExperimentFactors are the dependent variables of an experiment (e.g., genotype, time, glucose concentration).
Author:
Paul
  • Field Details

  • Constructor Details

    • ExperimentalFactor

      public ExperimentalFactor()
      No-arg constructor added to satisfy javabean contract
  • Method Details

    • getId

      @DocumentId public Long getId()
      Description copied from interface: Identifiable
      Obtain the identifier of the object.
      Specified by:
      getId in interface Identifiable
      Specified by:
      getId in interface gemma.gsec.model.Securable
      Overrides:
      getId in class AbstractIdentifiable
    • getName

      @Field public String getName()
      Description copied from interface: Describable
      Obtain the name of the object.

      It may be human-readable.

      It is case-insensitive and usually unique within a certain context (e.g. in a collection).

      It is non-null by default, but implementation may override this with a Nullable annotation. If null, it should not be treated as equal to other Describable objects (i.e. there can be multiple null-named describable within a given set).

      Specified by:
      getName in interface Describable
      Overrides:
      getName in class AbstractDescribable
    • getDescription

      @Field(store=YES) public String getDescription()
      Description copied from interface: Describable
      Obtain a human-readable description of the object
      Specified by:
      getDescription in interface Describable
      Overrides:
      getDescription in class AbstractDescribable
    • getSecurityOwner

      public ExpressionExperiment getSecurityOwner()
      Description copied from interface: SecuredChild
      Obtain the security owner of this secured child.

      Secured children should always have an owner in the ACL table, but that relation is not always direct or mapped. A more robust way of checking is to look up the parent via AclObjectIdentity.getParentObject(). If the security owner cannot be determined, the implementation should define a setter so it can be temporarily assigned for creating the ACL identity.

      Specified by:
      getSecurityOwner in interface gemma.gsec.model.SecuredChild
      Specified by:
      getSecurityOwner in interface SecuredChild<ExpressionExperiment>
      Returns:
      the security owner, or null if not known.
    • setSecurityOwner

      public void setSecurityOwner(ExpressionExperiment securityOwner)
    • getType

      public FactorType getType()
      Returns:
      Categorical vs. continuous. Continuous factors must have a 'measurement' associated with the factorvalues, Categorical ones must not.
    • setType

      public void setType(FactorType type)
    • getCategory

      @Nullable @IndexedEmbedded public Characteristic getCategory()
      Obtain the category of this experimental factor.
      Returns:
      the category or null if annotated automatically from GEO or used as a dummy.
    • setCategory

      public void setCategory(@Nullable Characteristic category)
    • getExperimentalDesign

      public ExperimentalDesign getExperimentalDesign()
    • setExperimentalDesign

      public void setExperimentalDesign(ExperimentalDesign experimentalDesign)
    • getFactorValues

      @IndexedEmbedded public Set<FactorValue> getFactorValues()
      Returns:
      The pairing of BioAssay FactorValues with the ExperimentDesign ExperimentFactor.
    • setFactorValues

      public void setFactorValues(Set<FactorValue> factorValues)
    • getAnnotations

      @Deprecated public Set<Characteristic> getAnnotations()
      Deprecated.
    • setAnnotations

      @Deprecated public void setAnnotations(Set<Characteristic> annotations)
      Deprecated.
    • equals

      public boolean equals(Object obj)
      Description copied from class: AbstractDescribable
      Important note: The name should be compared in a case-insensitive manner. You can use DescribableUtils.equalsByName(Describable, Describable) to get the correct behavior.

      Important note: Two objects with the same class and non-null ID must be considered equal. If one or both IDs are nulls, the rest of the state can be used to determine equality.

      Specified by:
      equals in class AbstractDescribable
    • toString

      public String toString()
      Overrides:
      toString in class AbstractDescribable