Class 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) $
    • Constructor Detail

      • 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 Detail

      • 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.
      • 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.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object