Package net.sf.basedb.core
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 Summary
Fields Modifier and Type Field Description static String
DESCRIPTION
The property name of the "static" propertyReporterData.getDescription()
static String
ENTRY_DATE
The property name of the "static" propertyReporterData.getEntryDate()
static String
EXTERNAL_ID
The property name of the "static" propertyReporterData.getExternalId()
.static String
ID
The property name of the "static" propertyBasicData.getId()
.private boolean
isExtendedProperty
private boolean
isMandatory
static String
LAST_SOURCE
The property name of the "static" propertyReporterData.getLastSource()
static String
LAST_UPDATE
The property name of the "static" propertyReporterData.getLastUpdate()
private static boolean
MANDATORY
static String
NAME
The property name of the "static" propertyReporterData.getName()
private static boolean
NULLABLE
static String
SYMBOL
The property name of the "static" propertyReporterData.getSymbol()
static String
VERSION
The property name of the "static" propertyBasicData.getVersion()
. -
Constructor Summary
Constructors Modifier Constructor Description 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.(package private)
ClonableProperty(String propertyName, ReporterClonePropertyData d)
Create a cloned property representation of a data-layer object.private
ClonableProperty(ExtendedProperty p)
Create a cloned property representation of an extended property -
Method Summary
Modifier and Type Method Description int
compareTo(ClonableProperty o)
Sort by title, but mandatory properties before non-madatory.static ClonableProperty
create(String name)
Create a cloned property from either an extended or static property.static ClonableProperty
createFromExtended(String name)
Create a cloned property representation of an extended property.static ClonableProperty
createFromRegular(String name)
Create a cloned property that represents the "static" property with the given name.boolean
equals(Object o)
boolean
exists()
Check if this cloned property still exists.static List<ClonableProperty>
getAll()
Get a list containing cloned property representation for all static and extended properties.static List<ClonableProperty>
getAllMandatory()
Get a list with all mandatory properties that must be cloned.int
hashCode()
boolean
isExtendedProperty()
Is this cloned property an extended property or a "static" property?boolean
isMandatory()
Check if this property is mandatory in all clone templates.(package private) ReporterClonePropertyData
toData()
Create a data-layer reprsentation of the cloned property.String
toString()
Methods inherited from class net.sf.basedb.core.ExtendedProperty
getAverageMethod, getColumn, getDescription, getLength, getName, getTitle, getType, getUrl, isAveragable, isHidden, isInsertable, isNullable, isRestrictedEdit, isUpdateable, isValidName, parseString, parseString, validateValue
-
Field Details
-
MANDATORY
private static final boolean MANDATORY- See Also:
- Constant Field Values
-
NULLABLE
private static final boolean NULLABLE- See Also:
- Constant Field Values
-
ID
The property name of the "static" propertyBasicData.getId()
. This property is mandatory in clone templates. -
VERSION
The property name of the "static" propertyBasicData.getVersion()
. This property is mandatory in clone templates. -
EXTERNAL_ID
The property name of the "static" propertyReporterData.getExternalId()
. This property is mandatory in clone templates. -
NAME
The property name of the "static" propertyReporterData.getName()
-
SYMBOL
The property name of the "static" propertyReporterData.getSymbol()
-
ENTRY_DATE
The property name of the "static" propertyReporterData.getEntryDate()
-
LAST_SOURCE
The property name of the "static" propertyReporterData.getLastSource()
-
LAST_UPDATE
The property name of the "static" propertyReporterData.getLastUpdate()
-
DESCRIPTION
The property name of the "static" propertyReporterData.getDescription()
-
isMandatory
private final boolean isMandatory -
isExtendedProperty
private final boolean isExtendedProperty
-
-
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
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 propertyd
- Other metadata for the property
-
-
Method Details
-
createFromRegular
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
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
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
Get a list containing cloned property representation for all static and extended properties. -
getAllMandatory
Get a list with all mandatory properties that must be cloned. -
toData
ReporterClonePropertyData 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
-
equals
-
hashCode
public int hashCode() -
compareTo
Sort by title, but mandatory properties before non-madatory.- Specified by:
compareTo
in interfaceComparable<ClonableProperty>
-