Package org.eclipse.rdf4j.model.impl

## Class SimpleLiteral

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

- All Implemented Interfaces:
    `Serializable`, `Literal`, `Value`
  Direct Known Subclasses:
    `BooleanLiteral`, `CalendarLiteral`, `DecimalLiteral`, `IntegerLiteral`, `MemLiteral`, `NativeLiteral`, `NumericLiteral`

      public class SimpleLiteral
      extends AbstractLiteral

  A simple default implementation of the `Literal` interface.
  Author:
    Arjohn Kampman, David Huynh
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `SimpleLiteral()` |
    `protected` | `SimpleLiteral​(String label)` | Creates a new plain literal with the supplied label.
    `protected` | `SimpleLiteral​(String label, String language)` | Creates a new plain literal with the supplied label and language tag.
    `protected` | `SimpleLiteral​(String label, CoreDatatype datatype)` |
    `protected` | `SimpleLiteral​(String label, IRI datatype)` | Creates a new datatyped literal with the supplied label and datatype.
    `protected` | `SimpleLiteral​(String label, IRI datatype, CoreDatatype coreDatatype)` | Creates a new datatyped literal with the supplied label and datatype.
    `protected` | `SimpleLiteral​(String label, 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 Deprecated 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.
    `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.
    `Optional<XSD.Datatype>` | `getXsdDatatype()` | Deprecated, for removal: This API element is subject to removal in a future version. Use `getCoreDatatype()` instead.
    `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.
    `protected void` | `setDatatype​(CoreDatatype datatype)` |
    `protected void` | `setDatatype​(IRI datatype)` |
    `protected void` | `setDatatype​(IRI datatype, CoreDatatype coreDatatype)` |
    `protected void` | `setDatatype​(XSD.Datatype datatype)` | Deprecated, for removal: This API element is subject to removal in a future version.
    `protected void` | `setLabel​(String label)` |
    `protected void` | `setLanguage​(String language)` |
    `short` | `shortValue()` | Returns the short value of this literal.
    `String` | `stringValue()` | Returns the String-value of a Value object.
    `String` | `toString()` | Returns the label of the literal with its language or datatype.

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

      `temporalAccessorValue, temporalAmountValue`

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

    - #### SimpleLiteral

          protected SimpleLiteral()

    - #### SimpleLiteral

          protected SimpleLiteral​(String label)

      Creates a new plain literal with the supplied label.
      Parameters:
        `label` - The label for the literal, must not be null.

    - #### SimpleLiteral

          protected SimpleLiteral​(String label,
                                  String language)

      Creates a new plain literal with the supplied label and language tag.
      Parameters:
        `label` - The label for the literal, must not be null.
        `language` - The language tag for the literal, must not be null and not be empty.

    - #### SimpleLiteral

          protected SimpleLiteral​(String label,
                                  IRI datatype)

      Creates a new datatyped literal with the supplied label and datatype.
      Parameters:
        `label` - The label for the literal, must not be null.
        `datatype` - The datatype for the literal.

    - #### SimpleLiteral

          protected SimpleLiteral​(String label,
                                  IRI datatype,
                                  CoreDatatype coreDatatype)

      Creates a new datatyped literal with the supplied label and datatype.
      Parameters:
        `label` - The label for the literal, must not be null.
        `datatype` - The datatype for the literal.

    - #### SimpleLiteral

          @Deprecated(since="4.0.0",
                      forRemoval=true)
          protected SimpleLiteral​(String label,
                                  XSD.Datatype datatype)

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

    - #### SimpleLiteral

          protected SimpleLiteral​(String label,
                                  CoreDatatype datatype)

  - ### Method Detail

    - #### setLabel

          protected void setLabel​(String label)

    - #### getLabel

          public String getLabel()

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

    - #### setLanguage

          protected void setLanguage​(String language)

    - #### 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.

    - #### setDatatype

          protected void setDatatype​(IRI datatype)

    - #### setDatatype

          protected void setDatatype​(IRI datatype,
                                     CoreDatatype coreDatatype)

    - #### setDatatype

          @Deprecated(since="4.0.0",
                      forRemoval=true)
          protected void setDatatype​(XSD.Datatype datatype)

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

    - #### setDatatype

          protected void setDatatype​(CoreDatatype datatype)

    - #### 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.

    - #### getXsdDatatype

          @Deprecated(since="4.0.0",
                      forRemoval=true)
          public Optional<XSD.Datatype> getXsdDatatype()

      Deprecated, for removal: This API element is subject to removal in a future version.
      Use `getCoreDatatype()` instead.
      Returns:

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

    - #### 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 `AbstractLiteral`
      Returns:
        a hash code for this literal computed as `Literal.getLabel()``.hashCode()`

    - #### toString

          public String toString()

      Returns the label of the literal with its language or datatype. Note that this method does not escape the quoted label.
      Overrides:
        `toString` in class `AbstractLiteral`
      See Also:
        `NTriplesUtil.toNTriplesString(org.eclipse.rdf4j.model.Literal)`

    - #### 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`
      Overrides:
        `stringValue` in class `AbstractLiteral`

    - #### booleanValue

          public boolean booleanValue()

      Description copied from interface: `Literal`
      Returns the boolean value of this literal.
      Specified by:
        `booleanValue` in interface `Literal`
      Overrides:
        `booleanValue` in class `AbstractLiteral`
      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`
      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.

    - #### integerValue

          public BigInteger integerValue()

      Description copied from interface: `Literal`
      Returns the integer value of this literal.
      Specified by:
        `integerValue` in interface `Literal`
      Overrides:
        `integerValue` in class `AbstractLiteral`
      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`
      Overrides:
        `decimalValue` in class `AbstractLiteral`
      Returns:
        The decimal value of the literal.

    - #### 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`
      Overrides:
        `calendarValue` in class `AbstractLiteral`
      Returns:
        The calendar value of the 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.