Class AbstractLiteral

    • Constructor Detail

      • AbstractLiteral

        public AbstractLiteral()
    • Method Detail

      • reserved

        static boolean reserved​(IRI datatype)
      • reserved

        static boolean reserved​(CoreDatatype datatype)
      • value

        private <V> V value​(java.util.function.Function<java.lang.String,​V> mapper)
        Converts this literal to a value.
        Type Parameters:
        V - the expected value type
        Parameters:
        mapper - a function mapping from the label of this literal to its value; returns a null value or throws an IllegalArgumentException if the label of this literal doesn't represent a value of the expected type
        Returns:
        the value returned by mapper
        Throws:
        java.lang.NullPointerException - if mapper is null
      • stringValue

        public java.lang.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 java.math.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 java.math.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 java.time.temporal.TemporalAccessor temporalAccessorValue()
                                                                  throws java.time.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:

        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:
        java.time.DateTimeException - if this literal cannot be represented by a TemporalAccessor value
        See Also:
        The Java™ Tutorials – Trail: Date Time
      • temporalAmountValue

        public java.time.temporal.TemporalAmount temporalAmountValue()
                                                              throws java.time.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:
        java.time.DateTimeException - if this literal cannot be represented by a TemporalAmount value
        See Also:
        The Java™ Tutorials – Trail: Date Time
      • calendarValue

        public javax.xml.datatype.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​(java.lang.Object o)
        Description copied from interface: Literal
        Compares this literal to another object.
        Specified by:
        equals in interface Literal
        Overrides:
        equals in class java.lang.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 java.lang.Object
        Returns:
        a hash code for this literal computed as Literal.getLabel().hashCode()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        private boolean equals​(java.util.Optional<java.lang.String> x,
                               java.util.Optional<java.lang.String> y)