public interface Literal extends Value
Value accessor methods (for instance, booleanValue()
) map literal lexical values conforming to the syntax of
a supported XML Schema 1.1 datatype to a corresponding Java object.
Modifier and Type | Method and 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 other)
Compares this literal to another object.
|
float |
floatValue()
Returns the float value of this literal.
|
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 |
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.
|
default boolean |
isLiteral()
Check if the object is an instance of the given type.
|
long |
longValue()
Returns the long value of this literal.
|
short |
shortValue()
Returns the short value of this literal.
|
default java.time.temporal.TemporalAccessor |
temporalAccessorValue()
Retrieves the
temporal accessor value of this literal. |
default java.time.temporal.TemporalAmount |
temporalAmountValue()
Retrieves the
temporal amount value of this literal. |
isBNode, isIRI, isResource, isTriple, stringValue
default boolean isLiteral()
Value
String getLabel()
Optional<String> getLanguage()
Optional.empty()
if it doesn't have one.IRI getDatatype()
If 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
.
boolean booleanValue()
IllegalArgumentException
- If the literal's label cannot be represented by a boolean .byte byteValue()
NumberFormatException
- If the literal cannot be represented by a byte.short shortValue()
NumberFormatException
- If the literal's label cannot be represented by a short.int intValue()
NumberFormatException
- If the literal's label cannot be represented by a int.long longValue()
NumberFormatException
- If the literal's label cannot be represented by to a long .BigInteger integerValue()
NumberFormatException
- If the literal's label is not a valid integer.BigDecimal decimalValue()
NumberFormatException
- If the literal's label is not a valid decimal.float floatValue()
NumberFormatException
- If the literal's label cannot be represented by a float.double doubleValue()
NumberFormatException
- If the literal's label cannot be represented by a double.default java.time.temporal.TemporalAccessor temporalAccessorValue() throws java.time.DateTimeException
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
).
java.time.DateTimeException
- if this literal cannot be represented by a TemporalAccessor
valuedefault java.time.temporal.TemporalAmount temporalAmountValue() throws java.time.DateTimeException
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
).
java.time.DateTimeException
- if this literal cannot be represented by a TemporalAmount
valueXMLGregorianCalendar calendarValue()
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.IllegalArgumentException
- If the literal cannot be represented by a XMLGregorianCalendar
.boolean equals(Object other)
equals
in class Object
other
- the object to compare this literal totrue
, if the other object is an instance of Literal
and if their labels, language tags and datatypes are equalint hashCode()
hashCode
in class Object
getLabel()
.hashCode()
Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.