Class NumberProperty

java.lang.Object
com.nomagic.magicdraw.properties.Property
com.nomagic.magicdraw.properties.NumberProperty
All Implemented Interfaces:
PropertyVisitorAcceptor, Cloneable

@OpenApiAll public class NumberProperty extends Property
The property for storing and editing some number value in Double, Float or Int formats.
  • Field Details

    • PATTERN

      public static final String PATTERN
      Patters which is used to format the number. This pattern should be set to the additional properties of NumberProperty
      See Also:
    • INT

      public static final int INT
      Number type is integer.
      See Also:
    • DOUBLE

      public static final int DOUBLE
      Number type is double.
      See Also:
    • FLOAT

      public static final int FLOAT
      Number type is float.
      See Also:
    • LONG

      public static final int LONG
      Number type is long.
      See Also:
  • Constructor Details

    • NumberProperty

      public NumberProperty()
      Default constructor for INT property. Value of the property will be 0. ID will be empty string.
    • NumberProperty

      public NumberProperty(String id, @CheckForNull Double value, int type, double low, double high)
      The property constructor.
      Parameters:
      id - the ID of property.
      value - the number value of the property.
      type - the number type (INT, DOUBLE or FLOAT).
      low - lowest range of the number.
      high - highest range of the number.
    • NumberProperty

      public NumberProperty(String id, int value, double low, double high)
      The property constructor. Type of number will be INT.
      Parameters:
      id - the ID of property.
      value - the value of the property.
      low - lowest range of the number.
      high - highest range of the number.
    • NumberProperty

      public NumberProperty(String id, float value, double low, double high)
      The property constructor. Type of number will be FLOAT.
      Parameters:
      id - the ID of property.
      value - the value of the property.
      low - lowest range of the number.
      high - highest range of the number.
    • NumberProperty

      public NumberProperty(String id, double value, double low, double high)
      The property constructor. Type of number will be DOUBLE.
      Parameters:
      id - the ID of property.
      value - the value of the property.
      low - lowest range of the number.
      high - highest range of the number.
    • NumberProperty

      public NumberProperty(String id, long value, double low, double high)
      The property constructor. Type of number will be LONG.
      Parameters:
      id - the ID of property.
      value - the value of the property.
      low - lowest range of the number.
      high - highest range of the number.
  • Method Details

    • getValueStringRepresentation

      public String getValueStringRepresentation()
      Returns value's string representation.
      Overrides:
      getValueStringRepresentation in class Property
      Returns:
      the string representation of the number.
    • getPattern

      @CheckForNull public static String getPattern(Property property)
    • getStringRepresentation

      public static String getStringRepresentation(int type, @CheckForNull Double value, @CheckForNull String pattern)
    • getStringRepresentation

      public static String getStringRepresentation(int type, @CheckForNull Double value)
    • toDouble

      @CheckForNull public static Double toDouble(Number number)
    • accept

      public void accept(PropertyVisitor v) throws Exception
      Description copied from class: Property
      Accepts the given visitor.
      Specified by:
      accept in interface PropertyVisitorAcceptor
      Overrides:
      accept in class Property
      Parameters:
      v - the PropertyVisitor.
      Throws:
      Exception
    • getInteger

      public int getInteger()
      Returns value as int (primitive type).
      Returns:
      property value as int. 0 if value is null
    • getLong

      public long getLong()
      Returns value as long (primitive type).
      Returns:
      property value as long. 0 if value is null
    • getDouble

      public double getDouble()
      Returns value as double (primitive type).
      Returns:
      property value as double. 0 if value is null
    • getFloat

      public float getFloat()
      Returns value as float (primitive type).
      Returns:
      property value as float. 0 if value is null
    • getDoubleObject

      @CheckForNull public Double getDoubleObject()
      Returns value as Double object.
      Returns:
      property value as Double.
    • setValue

      public void setValue(int value)
      Sets value as primitive integer.
      Parameters:
      value - a new integer value.
    • setValue

      public void setValue(double value)
      Sets value as primitive double type.
      Parameters:
      value - a new double value.
    • setValue

      public void setValue(float value)
      Sets value as primitive float type.
      Parameters:
      value - a new float value.
    • setValue

      public void setValue(@CheckForNull Object value)
      Description copied from class: Property
      Sets new property value. Will fire a PropertyChangeEvent with propertyName - property ID, newValue and oldValue.
      Overrides:
      setValue in class Property
      Parameters:
      value - a new property value.
    • isValueCompatible

      protected boolean isValueCompatible(Object value)
      Overrides:
      isValueCompatible in class Property
      Returns:
      true if given object can be assigned as value to this property
    • getValue

      @CheckForNull public Object getValue()
      Description copied from class: Property
      Returns properties value.
      Overrides:
      getValue in class Property
      Returns:
      value of the property.
    • getClassType

      public String getClassType()
      Returns property class type.
      Specified by:
      getClassType in interface PropertyVisitorAcceptor
      Overrides:
      getClassType in class Property
      Returns:
      PropertyID.NUMBER_PROPERTY
      See Also:
    • getNumberType

      public int getNumberType()
      Returns type of the number.
      Returns:
      number type - INT, DOUBLE or FLOAT.
    • setNumberType

      public void setNumberType(int type)
      Sets type of the number.
      Parameters:
      type - the number type - INT, DOUBLE or FLOAT.
    • getLowRange

      public double getLowRange()
      Returns the lowest range of the number value.
      Returns:
      lowest range.
    • getHighRange

      public double getHighRange()
      Returns the highest range of the value.
      Returns:
      highest range.
    • setLowRange

      public void setLowRange(double range)
      Returns the lowest range of the value.
      Parameters:
      range - the lowest range.
    • setHighRange

      public void setHighRange(double range)
      Returns the highest range of the value.
      Parameters:
      range - the highest range.
    • hasError

      @CheckForNull public static String hasError(NumberProperty property, String newNumber) throws NumberFormatException
      Throws:
      NumberFormatException
    • isSoftRange

      public boolean isSoftRange()
      Returns:
      Property is not allowed to cross the range boundaries.
    • setSoftRange

      public void setSoftRange(boolean softRange)
      Parameters:
      softRange - Property is allowed to cross the range boundaries. Default is false.
    • clone

      public NumberProperty clone()
      Description copied from class: Property
      Clones the property. Clone is not deep, the clone will have the same instance of value. The clone will not have registered PropertyChangeListeners.
      Overrides:
      clone in class Property
      Returns:
      the cloned property.