Class PrimitiveLongDatatype

All Implemented Interfaces:
Comparable<Datatype>, Datatype, NumericDatatype, ValueDatatype

public class PrimitiveLongDatatype extends AbstractPrimitiveDatatype implements NumericDatatype
Datatype for the primitive long.
  • Constructor Details

    • PrimitiveLongDatatype

      public PrimitiveLongDatatype()
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Datatype
      Returns the datatype's name.
      Specified by:
      getName in interface Datatype
    • getQualifiedName

      public String getQualifiedName()
      Description copied from interface: Datatype
      Returns the datatype's qualified name.

      The qualified name identifies the datatype.

      Specified by:
      getQualifiedName in interface Datatype
    • getWrapperType

      public ValueDatatype getWrapperType()
      Description copied from interface: ValueDatatype
      If this datatype represents a primitive type, this method returns the datatype that represents the wrapper class. Returns null if this datatype does not represent a primitive.
      Specified by:
      getWrapperType in interface ValueDatatype
    • getDefaultValue

      public String getDefaultValue()
      Description copied from interface: ValueDatatype
      Returns the datatype's default value. For datatypes representing objects the method returns null. For datatypes representing Java primitives the Java default value is returned, e.g. 0 for int.
      Specified by:
      getDefaultValue in interface ValueDatatype
      See Also:
    • getValue

      public Object getValue(String value)
      Description copied from interface: ValueDatatype
      This method parses the given string and returns the value as an instance of the class this value datatype represents.

      Use with caution: During development time Faktor-IPS maintains all values with their string representation. This allows to change the value's datatype without the need to convert the value from one class to another (e.g. if the string representation is 42 you can change the datatype from integer to string without converting the integer object to a string object.

      May throw different exceptions if the given string does not represent any value, for example a NumberFormatException when "twelve" is passed to PrimitiveIntegerDatatype.getValue(String).

      Specified by:
      getValue in interface ValueDatatype
      Specified by:
      getValue in class AbstractPrimitiveDatatype
      Parameters:
      value - the string representation of a value
      Returns:
      the value as instance of the class this datatype represents
      See Also:
    • supportsCompare

      public boolean supportsCompare()
      Specified by:
      supportsCompare in interface ValueDatatype
      Returns:
      true if this datatype is able to compare two values.
    • subtract

      public String subtract(String minuend, String subtrahend)
      Description copied from interface: NumericDatatype
      Subtraction. This method is used to validate numeric ranges, see RangeValueSet as an example.
      Specified by:
      subtract in interface NumericDatatype
      Parameters:
      minuend - The value to be reduced.
      subtrahend - The value to be used to reduce the minuend
      Returns:
      The result of "minuend - subtrahend".
    • divisibleWithoutRemainder

      public boolean divisibleWithoutRemainder(String dividend, String divisor)
      Description copied from interface: NumericDatatype
      Decides whether the given dividend can be divided by the divisor without remainder or not. This method is used to validate numeric ranges, see RangeValueSet as an example.
      Specified by:
      divisibleWithoutRemainder in interface NumericDatatype
      Parameters:
      dividend - The value to be divided
      divisor - The value to be used to divide the dividend
      Returns:
      true if dividend can be divided by the divisor without remainder, false otherwise.
    • hasDecimalPlaces

      public boolean hasDecimalPlaces()
      Specified by:
      hasDecimalPlaces in interface NumericDatatype