Package org.eclipse.rdf4j.model.impl

## Class NumericLiteral

- java.lang.Object
- - org.eclipse.rdf4j.model.base.AbstractLiteral
  - - org.eclipse.rdf4j.model.impl.NumericLiteral

- All Implemented Interfaces:
    `Serializable`, `Literal`, `Value`

      public class NumericLiteral
      extends AbstractLiteral

  An extension of `AbstractLiteral` that stores a numeric value to avoid parsing.
  Author:
    David Huynh, Jerven Bolleman
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `NumericLiteral​(byte number)` | Creates an xsd:byte typed litral with the specified value.
    `protected` | `NumericLiteral​(double n)` | Creates an xsd:double typed litral with the specified value.
    `protected` | `NumericLiteral​(float n)` | Creates an xsd:float typed litral with the specified value.
    `protected` | `NumericLiteral​(int number)` | Creates an xsd:int typed litral with the specified value.
    `protected` | `NumericLiteral​(long n)` | Creates an xsd:long typed litral with the specified value.
    `protected` | `NumericLiteral​(short number)` | Creates an xsd:short typed litral with the specified value.
    `protected` | `NumericLiteral​(Number number, CoreDatatype datatype)` |
    `protected` | `NumericLiteral​(Number number, IRI datatype)` | Creates a literal with the specified value and datatype.
    `protected` | `NumericLiteral​(Number number, XSD.Datatype datatype)` | Deprecated, for removal: This API element is subject to removal in a future version.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `byte` | `byteValue()` | Returns the byte value of this literal.
    `double` | `doubleValue()` | Returns the double value of this literal.
    `boolean` | `equals​(Object o)` | Compares this literal to another object.
    `float` | `floatValue()` | Returns the float value of this literal.
    `CoreDatatype` | `getCoreDatatype()` | CoreDatatype is an interface for natively supported datatypes in RDF4J.
    `IRI` | `getDatatype()` | Gets the datatype for this literal.
    `String` | `getLabel()` | Gets the label (the lexical value) of this literal.
    `Optional<String>` | `getLanguage()` | Gets the language tag for this literal, normalized to lower case.
    `int` | `intValue()` | Returns the int value of this literal.
    `long` | `longValue()` | Returns the long value of this literal.
    `short` | `shortValue()` | Returns the short value of this literal.

    - ### Methods inherited from class org.eclipse.rdf4j.model.base.AbstractLiteral

      `booleanValue, calendarValue, decimalValue, hashCode, integerValue, stringValue, temporalAccessorValue, temporalAmountValue, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.Literal

      `isLiteral`

    - ### Methods inherited from interface org.eclipse.rdf4j.model.Value

      `isBNode, isIRI, isResource, isTriple`

- - ### Constructor Detail

    - #### NumericLiteral

          protected NumericLiteral​(Number number,
                                   IRI datatype)

      Creates a literal with the specified value and datatype.

    - #### NumericLiteral

          @Deprecated(since="4.0.0",
                      forRemoval=true)
          protected NumericLiteral​(Number number,
                                   XSD.Datatype datatype)

      Deprecated, for removal: This API element is subject to removal in a future version.

    - #### NumericLiteral

          protected NumericLiteral​(Number number,
                                   CoreDatatype datatype)

    - #### NumericLiteral

          protected NumericLiteral​(byte number)

      Creates an xsd:byte typed litral with the specified value.

    - #### NumericLiteral

          protected NumericLiteral​(short number)

      Creates an xsd:short typed litral with the specified value.

    - #### NumericLiteral

          protected NumericLiteral​(int number)

      Creates an xsd:int typed litral with the specified value.

    - #### NumericLiteral

          protected NumericLiteral​(long n)

      Creates an xsd:long typed litral with the specified value.

    - #### NumericLiteral

          protected NumericLiteral​(float n)

      Creates an xsd:float typed litral with the specified value.

    - #### NumericLiteral

          protected NumericLiteral​(double n)

      Creates an xsd:double typed litral with the specified value.

  - ### Method Detail

    - #### byteValue

          public byte byteValue()

      Description copied from interface: `Literal`
      Returns the byte value of this literal.
      Specified by:
        `byteValue` in interface `Literal`
      Overrides:
        `byteValue` in class `AbstractLiteral`
      Returns:
        The byte value of the literal.

    - #### shortValue

          public short shortValue()

      Description copied from interface: `Literal`
      Returns the short value of this literal.
      Specified by:
        `shortValue` in interface `Literal`
      Overrides:
        `shortValue` in class `AbstractLiteral`
      Returns:
        The short value of the literal.

    - #### intValue

          public int intValue()

      Description copied from interface: `Literal`
      Returns the int value of this literal.
      Specified by:
        `intValue` in interface `Literal`
      Overrides:
        `intValue` in class `AbstractLiteral`
      Returns:
        The int value of the literal.

    - #### longValue

          public long longValue()

      Description copied from interface: `Literal`
      Returns the long value of this literal.
      Specified by:
        `longValue` in interface `Literal`
      Overrides:
        `longValue` in class `AbstractLiteral`
      Returns:
        The long value of the literal.

    - #### floatValue

          public float floatValue()

      Description copied from interface: `Literal`
      Returns the float value of this literal.
      Specified by:
        `floatValue` in interface `Literal`
      Overrides:
        `floatValue` in class `AbstractLiteral`
      Returns:
        The float value of the literal.

    - #### doubleValue

          public double doubleValue()

      Description copied from interface: `Literal`
      Returns the double value of this literal.
      Specified by:
        `doubleValue` in interface `Literal`
      Overrides:
        `doubleValue` in class `AbstractLiteral`
      Returns:
        The double value of the literal.

    - #### getLabel

          public String getLabel()

      Description copied from interface: `Literal`
      Gets the label (the lexical value) of this literal.
      Returns:
        The literal's label.

    - #### getLanguage

          public Optional<String> getLanguage()

      Description copied from interface: `Literal`
      Gets the language tag for this literal, normalized to lower case.
      Returns:
        The language tag for this literal, or `Optional.empty()` if it doesn't have one.

    - #### getDatatype

          public IRI getDatatype()

      Description copied from interface: `Literal`
      Gets the datatype for this literal.

      If `Literal.getLanguage()` returns a non-empty value than this must return `rdf:langString`. If no datatype was assigned to this literal by the creator, then this method must return `xsd:string`.

      Returns:
        The datatype for this literal.

    - #### getCoreDatatype

          public CoreDatatype getCoreDatatype()

      Description copied from interface: `Literal`
      CoreDatatype is an interface for natively supported datatypes in RDF4J. This includes, among others, the XML Schema datatypes and rdf:langString. CoreDatatypes are implemented as enums and more performant and convenient to work with than IRI-based datatypes. The constant {@link CoreDatatype#NONE)} is used to represent a datatype that is not one of the supported core datatypes.
      Returns:
        The CoreDatatype or {@link CoreDatatype#NONE)} if the datatype matches none of the core datatypes. This method will not return null.

    - #### equals

          public boolean equals​(Object o)

      Description copied from interface: `Literal`
      Compares this literal to another object.
      Specified by:
        `equals` in interface `Literal`
      Overrides:
        `equals` in class `AbstractLiteral`
      Parameters:
        `o` - the object to compare this literal to
      Returns:
        `true`, if the other object is an instance of `Literal` and if their labels, language tags and datatypes are equal