Interface Literal
- All Superinterfaces:
Serializable
,Value
- All Known Implementing Classes:
AbstractLiteral
,BooleanLiteral
,BooleanMemLiteral
,CalendarLiteral
,CalendarMemLiteral
,DecimalLiteral
,DecimalMemLiteral
,IntegerLiteral
,IntegerMemLiteral
,LmdbLiteral
,MemLiteral
,NativeLiteral
,NumericLiteral
,NumericMemLiteral
,SimpleLiteral
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.
- Author:
- Arjohn Kampman
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns the boolean value of this literal.byte
Returns the byte value of this literal.Returns theXMLGregorianCalendar
value of this literal.Returns the decimal value of this literal.double
Returns the double value of this literal.boolean
Compares this literal to another object.float
Returns the float value of this literal.CoreDatatype is an interface for natively supported datatypes in RDF4J.Gets the datatype for this literal.getLabel()
Gets the label (the lexical value) of this literal.Gets the language tag for this literal, normalized to lower case.int
hashCode()
Computes the hash code of this literal.Returns the integer value of this literal.int
intValue()
Returns the int value of this literal.default boolean
Check if the object is an instance of the given type.long
Returns the long value of this literal.short
Returns the short value of this literal.default TemporalAccessor
Retrieves thetemporal accessor
value of this literal.default TemporalAmount
Retrieves thetemporal amount
value of this literal.Methods inherited from interface org.eclipse.rdf4j.model.Value
isBNode, isIRI, isResource, isTriple, stringValue
-
Method Details
-
isLiteral
default boolean isLiteral()Description copied from interface:Value
Check if the object is an instance of the given type. Typically 2x than using instanceof.For implementers: This default implementation is overridden in the repsective sub-interface.
-
getLabel
String getLabel()Gets the label (the lexical value) of this literal.- Returns:
- The literal's label.
-
getLanguage
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
IRI getDatatype()Gets the datatype for this literal.If
getLanguage()
returns a non-empty value than this must returnrdf:langString
. If no datatype was assigned to this literal by the creator, then this method must returnxsd:string
.- Returns:
- The datatype for this literal.
-
booleanValue
boolean booleanValue()Returns the boolean value of this literal.- Returns:
- The boolean value of the literal.
- Throws:
IllegalArgumentException
- If the literal's label cannot be represented by a boolean .
-
byteValue
byte byteValue()Returns the byte value of this literal.- Returns:
- The byte value of the literal.
- Throws:
NumberFormatException
- If the literal cannot be represented by a byte.
-
shortValue
short shortValue()Returns the short value of this literal.- Returns:
- The short value of the literal.
- Throws:
NumberFormatException
- If the literal's label cannot be represented by a short.
-
intValue
int intValue()Returns the int value of this literal.- Returns:
- The int value of the literal.
- Throws:
NumberFormatException
- If the literal's label cannot be represented by a int.
-
longValue
long longValue()Returns the long value of this literal.- Returns:
- The long value of the literal.
- Throws:
NumberFormatException
- If the literal's label cannot be represented by to a long .
-
integerValue
BigInteger integerValue()Returns the integer value of this literal.- Returns:
- The integer value of the literal.
- Throws:
NumberFormatException
- If the literal's label is not a valid integer.
-
decimalValue
BigDecimal decimalValue()Returns the decimal value of this literal.- Returns:
- The decimal value of the literal.
- Throws:
NumberFormatException
- If the literal's label is not a valid decimal.
-
floatValue
float floatValue()Returns the float value of this literal.- Returns:
- The float value of the literal.
- Throws:
NumberFormatException
- If the literal's label cannot be represented by a float.
-
doubleValue
double doubleValue()Returns the double value of this literal.- Returns:
- The double value of the literal.
- Throws:
NumberFormatException
- If the literal's label cannot be represented by a double.
-
temporalAccessorValue
Retrieves thetemporal 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 likeOffsetDateTime
using target static factory methods, for instanceOffsetDateTime.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
) andxsd:gDay
(for instance,---16
).- Returns:
- the temporal accessor value of this literal
- Throws:
DateTimeException
- if this literal cannot be represented by aTemporalAccessor
value- Since:
- 3.5.0
- See Also:
-
temporalAmountValue
Retrieves thetemporal 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 likeDuration
using target static factory methods, for instanceDuration.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
).- Returns:
- the temporal amount value of this literal
- Throws:
DateTimeException
- if this literal cannot be represented by aTemporalAmount
value- Since:
- 3.5.0
- See Also:
-
calendarValue
XMLGregorianCalendar calendarValue()Returns theXMLGregorianCalendar
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.- Returns:
- The calendar value of the literal.
- Throws:
IllegalArgumentException
- If the literal cannot be represented by aXMLGregorianCalendar
.
-
getCoreDatatype
CoreDatatype getCoreDatatype()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 constantinvalid @link
{@link CoreDatatype#NONE)
- Returns:
- The CoreDatatype or
invalid @link
{@link CoreDatatype#NONE)
-
equals
Compares this literal to another object.- Overrides:
equals
in classObject
- Parameters:
other
- the object to compare this literal to- Returns:
true
, if the other object is an instance ofLiteral
and if their labels, language tags and datatypes are equal
-
hashCode
int hashCode()Computes the hash code of this literal.- Overrides:
hashCode
in classObject
- Returns:
- a hash code for this literal computed as
getLabel()
.hashCode()
-