Package org.eclipse.rdf4j.model.base

## Class AbstractLiteral

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

- All Implemented Interfaces:
    `Serializable`, `Literal`, `Value`
  Direct Known Subclasses:
    `LmdbLiteral`, `NumericLiteral`, `SimpleLiteral`

      public abstract class AbstractLiteral
      extends Object
      implements Literal

  Base class for `Literal`, offering common functionality.
  Since:
    3.5.0
  Author:
    Alessandro Bollini
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractLiteral()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `booleanValue()` | Returns the boolean value of this literal.
    `byte` | `byteValue()` | Returns the byte value of this literal.
    `XMLGregorianCalendar` | `calendarValue()` | Returns the `XMLGregorianCalendar` value of this literal.
    `BigDecimal` | `decimalValue()` | Returns the decimal 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.
    `int` | `hashCode()` | Computes the hash code of this literal.
    `BigInteger` | `integerValue()` | Returns the integer value of this literal.
    `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.
    `String` | `stringValue()` | Returns the String-value of a Value object.
    `TemporalAccessor` | `temporalAccessorValue()` | Retrieves the `temporal accessor` value of this literal.
    `TemporalAmount` | `temporalAmountValue()` | Retrieves the `temporal amount` value of this literal.
    `String` | `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

      `getCoreDatatype, getDatatype, getLabel, getLanguage, isLiteral`

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

      `isBNode, isIRI, isResource, isTriple`

- - ### Constructor Detail

    - #### AbstractLiteral

          public AbstractLiteral()

  - ### Method Detail

    - #### stringValue

          public String stringValue()

      Description copied from interface: `Value`
      Returns the String-value of a Value object. This returns either a `Literal`'s label, a `IRI`'s URI or a `BNode`'s ID.
      Specified by:
        `stringValue` in interface `Value`

    - #### booleanValue

          public boolean booleanValue()

      Description copied from interface: `Literal`
      Returns the boolean value of this literal.
      Specified by:
        `booleanValue` in interface `Literal`
      Returns:
        The boolean value of the literal.

    - #### byteValue

          public byte byteValue()

      Description copied from interface: `Literal`
      Returns the byte value of this literal.
      Specified by:
        `byteValue` in interface `Literal`
      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`
      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`
      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`
      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`
      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`
      Returns:
        The double value of the literal.

    - #### integerValue

          public BigInteger integerValue()

      Description copied from interface: `Literal`
      Returns the integer value of this literal.
      Specified by:
        `integerValue` in interface `Literal`
      Returns:
        The integer value of the literal.

    - #### decimalValue

          public BigDecimal decimalValue()

      Description copied from interface: `Literal`
      Returns the decimal value of this literal.
      Specified by:
        `decimalValue` in interface `Literal`
      Returns:
        The decimal value of the literal.

    - #### temporalAccessorValue

          public TemporalAccessor temporalAccessorValue()
                                                 throws DateTimeException

      Description copied from interface: `Literal`
      Retrieves the `temporal accessor` value of this literal.

      A temporal accessor representation can be given for literals whose label conforms to the syntax of the following XML Schema 1.1 date/time datatypes:

      - xsd:dateTime,
      - xsd:time,
      - xsd:date,
      - xsd:gYearMonth,
      - xsd:gYear,
      - xsd:gMonthDay,
      - xsd:gDay,
      - xsd:gMonth.

      Temporal accessor representations may be converted to specific `java.time` values like `OffsetDateTime` using target static factory methods, for instance `OffsetDateTime.from(literal.temporalAccessorValue())`.

      Note however that `java.time` doesn't include dedicated classes for some legal XML Schema date/time values, like offset dates (for instance, `2020-11-16+01:00`) and `xsd:gDay` (for instance, `---16`).

      Specified by:
        `temporalAccessorValue` in interface `Literal`
      Returns:
        the temporal accessor value of this literal
      Throws:
        `DateTimeException` - if this literal cannot be represented by a `TemporalAccessor` value
      See Also:
        The Java™ Tutorials – Trail: Date Time

    - #### temporalAmountValue

          public TemporalAmount temporalAmountValue()
                                             throws DateTimeException

      Description copied from interface: `Literal`
      Retrieves the `temporal amount` value of this literal.

      A temporal amount representation can be given for literals whose label conforms to the syntax of the XML Schema 2 xsd:duration datatype.

      The adoption of the XML Schema 2 definition is a known deviation from the RDF 1.1 standard; well-formedness rules are relaxed to consider all duration components as optional and freely mixable.

      Temporal amount representations may be converted to specific `java.time` values like `Duration` using target static factory methods, for instance `Duration.from(literal.temporalAmountValue())`.

      Note however that `java.time` doesn't include dedicated classes for legal XML Schema duration values including both date and time components (for instance, `P1YT23H`).

      Specified by:
        `temporalAmountValue` in interface `Literal`
      Returns:
        the temporal amount value of this literal
      Throws:
        `DateTimeException` - if this literal cannot be represented by a `TemporalAmount` value
      See Also:
        The Java™ Tutorials – Trail: Date Time

    - #### calendarValue

          public XMLGregorianCalendar calendarValue()

      Description copied from interface: `Literal`
      Returns the `XMLGregorianCalendar` value of this literal. A calendar representation can be given for literals whose label conforms to the syntax of the following XML Schema datatypes: dateTime, time, date, gYearMonth, gMonthDay, gYear, gMonth or gDay.
      Specified by:
        `calendarValue` in interface `Literal`
      Returns:
        The calendar value of the literal.

    - #### 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 `Object`
      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

    - #### hashCode

          public int hashCode()

      Description copied from interface: `Literal`
      Computes the hash code of this literal.
      Specified by:
        `hashCode` in interface `Literal`
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code for this literal computed as `Literal.getLabel()``.hashCode()`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`