package de.mpicbg.knime.knutils.data.property; /** * represents the KNIME {@link org.knime.core.data.property.SizeModelDouble} * necessary as the model cannot be accessed from outside * @author Antje Janosch * */ public class SizeModel { /** minimum value set to size = 1 */ private double m_min; /** maximum value set to size = m_factor */ private double m_max; /** method to calculate the size between minimum and maximum value */ private Mapping m_method; /** size factor */ private double m_factor; /** Methods available for size calculation */ public enum Mapping { /** for math see {@link org.knime.core.data.property.SizeModelDouble.Mapping.LINEAR} */ LINEAR, /** for math see {@link org.knime.core.data.property.SizeModelDouble.Mapping.SQUARE_ROOT} */ SQUARE_ROOT, /** for math see {@link org.knime.core.data.property.SizeModelDouble.Mapping.LOGARITHMIC} */ LOGARITHMIC, /** for math see {@link org.knime.core.data.property.SizeModelDouble.Mapping.EXPONENTIAL} */ EXPONENTIAL } /** * constructor * @param min - {@link SizeModel#m_min} * @param max - {@link SizeModel#m_max} * @param factor - {@link SizeModel#m_factor} * @param method - as String: {@link SizeModel#m_method} */ public SizeModel(double min, double max, double factor, String method) { m_min = min; m_max = max; m_factor = factor; m_method = null; if(method.equals(Mapping.LINEAR.name())) m_method = Mapping.LINEAR; if(method.equals(Mapping.LOGARITHMIC.name())) m_method = Mapping.LOGARITHMIC; if(method.equals(Mapping.EXPONENTIAL.name())) m_method = Mapping.EXPONENTIAL; if(method.equals(Mapping.SQUARE_ROOT.name())) m_method = Mapping.SQUARE_ROOT; } /** return {@link SizeModel#m_method} */ public Mapping getMethod() { return m_method; } /** return {@link SizeModel#m_min} */ public double getMin() { return m_min; } /** return {@link SizeModel#m_max} */ public double getMax() { return m_max; } /** return {@link SizeModel#m_factor} */ public double getFactor() { return m_factor; } }