Class ClonableProperty

java.lang.Object
net.sf.basedb.core.ExtendedProperty
net.sf.basedb.core.ClonableProperty
All Implemented Interfaces:
Comparable<ClonableProperty>

public class ClonableProperty
extends ExtendedProperty
implements Comparable<ClonableProperty>
Represents a reporter property that can be cloned to a per-experiment table in the dynamic database. A cloned property is more or less the same as an ExtendedProperty but with added support for regular (static) properties.
Since:
3.1
Author:
Nicklas
Last modified
$Date: 2018-07-11 14:42:30 +0200 (on, 11 jul 2018) $
  • Field Details

  • Constructor Details

    • ClonableProperty

      private ClonableProperty​(String propertyName, String title, String description, String column, Type valueType, int length, boolean nullable, Formula.AverageMethod averageMethod, boolean isMandatory)
      Create a cloned property representation of a static property.
    • ClonableProperty

      private ClonableProperty​(ExtendedProperty p)
      Create a cloned property representation of an extended property
      Parameters:
      p - The extended property to clone
    • ClonableProperty

      ClonableProperty​(String propertyName, ReporterClonePropertyData d)
      Create a cloned property representation of a data-layer object.
      Parameters:
      propertyName - The name of the property
      d - Other metadata for the property
  • Method Details

    • createFromRegular

      public static ClonableProperty createFromRegular​(String name)
      Create a cloned property that represents the "static" property with the given name.
      Parameters:
      name - The name of the static property
      Returns:
      A cloned property
      Throws:
      ItemNotFoundException - If a property with the given name doesn't exist
    • createFromExtended

      public static ClonableProperty createFromExtended​(String name)
      Create a cloned property representation of an extended property.
      Parameters:
      name - The name of the extended property
      Returns:
      A cloned property view of the extended property
      Throws:
      ItemNotFoundException - If a property with the given name doesn't exist
    • create

      public static ClonableProperty create​(String name)
      Create a cloned property from either an extended or static property. This method will first check if an extended property with the given name exists.
      Parameters:
      name - The name of the property
      Returns:
      A cloned property view of the extended or static property
      Throws:
      ItemNotFoundException - If a property with the given name doesn't exist
    • getAll

      public static List<ClonableProperty> getAll()
      Get a list containing cloned property representation for all static and extended properties.
    • getAllMandatory

      public static List<ClonableProperty> getAllMandatory()
      Get a list with all mandatory properties that must be cloned.
    • toData

      Create a data-layer reprsentation of the cloned property.
    • isExtendedProperty

      public boolean isExtendedProperty()
      Is this cloned property an extended property or a "static" property?
    • isMandatory

      public boolean isMandatory()
      Check if this property is mandatory in all clone templates.
    • exists

      public boolean exists()
      Check if this cloned property still exists. A cloned property that has been added to a template is not automatically removed if the extended properties configuration is changed.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • compareTo

      public int compareTo​(ClonableProperty o)
      Sort by title, but mandatory properties before non-madatory.
      Specified by:
      compareTo in interface Comparable<ClonableProperty>