public class LiteralArrayIV extends AbstractLiteralIV<BigdataLiteral,Object[]>
Encoded as flags, DTE.ARRAY, array length, array. The array length is encoded using a single byte, so the maximum array length is 256 elements (empty arrays are not allowed).
LiteralExtensionIV},
URIExtensionIV},
InlineURIHandler},
IExtension},
Serialized Formflags| Constructor and Description |
|---|
LiteralArrayIV(InlineLiteralIV<?,?>... ivs)
Construct an instance using the supplied inline literal IVs.
|
| Modifier and Type | Method and Description |
|---|---|
int |
_compareTo(IV o)
Compare two
IVs having the same intrinsic datatype. |
BigdataLiteral |
asValue(LexiconRelation lex)
This IV cannot be materialized on its own.
|
int |
byteLength()
The byte length of the encoded
IV. |
LiteralArrayIV |
clone(boolean clearCache)
Return a copy of this
IV. |
boolean |
equals(Object obj)
Return true iff the two
IVs are the same point in the same value
space. |
DTEExtension |
getDTEX()
IFF
IV.getDTE() returns DTE.Extension then this method will
report the DTEExtension value that specifies the intrinsic
datatype for this IV. |
Object[] |
getInlineValue()
We could theoretically get all the inline values from the inline IVs
and return them here.
|
InlineLiteralIV<?,?>[] |
getIVs() |
String |
getLabel()
Implement
Literal.getLabel() for logging. |
int |
hashCode()
Return a hash code based on the value of the point in the value space.
|
booleanValue, byteValue, calendarValue, decimalValue, doubleValue, floatValue, getDatatype, getLanguage, integerValue, intValue, longValue, needsMaterialization, shortValue, stringValue, toStringisInlinecompareTo, encode, flags, getDTE, getDTE, getInternalValueTypeEnum, getValue, getValueCache, getVTE, getVTE, hasValue, isBigNumeric, isBNode, isExtension, isExtension, isFixedNumeric, isFloatingPointNumeric, isInline, isLiteral, isNullIV, isNumeric, isResource, isSignedNumeric, isStatement, isUnsignedNumeric, isURI, isVocabulary, setValue, toFlagsclone, finalize, getClass, notify, notifyAll, wait, wait, waitencode, flags, getDTE, getVTE, isBigNumeric, isBNode, isExtension, isFixedNumeric, isFloatingPointNumeric, isInline, isLiteral, isNullIV, isNumeric, isResource, isSignedNumeric, isStatement, isUnsignedNumeric, isURI, isVocabularycompareTopublic LiteralArrayIV(InlineLiteralIV<?,?>... ivs)
ivs - the inline literal IVspublic DTEExtension getDTEX()
IVIV.getDTE() returns DTE.Extension then this method will
report the DTEExtension value that specifies the intrinsic
datatype for this IV.getDTEX in interface IV<BigdataLiteral,Object[]>getDTEX in class AbstractIV<BigdataLiteral,Object[]>(Implement support for DTE extension types for URIs),
( DTEExtension for compressed timestamp)public InlineLiteralIV<?,?>[] getIVs()
public int byteLength()
IVIV.public LiteralArrayIV clone(boolean clearCache)
IVCacheIV.
Note: This method exists to defeat the hard reference from the IV
to the cached BigdataValue in order to avoid a memory leak when
the IV is used as the key in a weak value cache whose value is
the BigdataValue. Therefore, certain IV implementations
MAY return this when they are used for limited collections. The
vocabulary IVs are the primary example. For the same reason, we do not
need to recursively break the link from the IV to the
BigdataValue for IVs which embed other IVs.
clearCache - When true the cached reference (if any) will NOT
be set on the copy.(Thread-local
cache combined with unbounded thread pools causes effective memory
leak)public int _compareTo(IV o)
AbstractIVIVs having the same intrinsic datatype._compareTo in class AbstractIV<BigdataLiteral,Object[]>public int hashCode()
AbstractIV
Note: The IV implementations typically DO NOT return hash codes
that are consistent with BigdataValue#hashCode(). Therefore you
MUST NOT mix IVs and BigdataValues in the keys of a map
or the values of a set.
hashCode in interface org.openrdf.model.LiteralhashCode in class AbstractIV<BigdataLiteral,Object[]>public boolean equals(Object obj)
AbstractIVIVs are the same point in the same value
space. Points in different value spaces (as identified by different
datatype URIs) are NOT equal even if they have the same value in the
corresponding primitive data type.
Note: The IV implementations typically DO NOT compare equals()
with BigdataValues. Therefore you MUST NOT mix IVs and
BigdataValues in the keys of a map or the values of a set.
equals in interface org.openrdf.model.Literalequals in class AbstractIV<BigdataLiteral,Object[]>public String getLabel()
Literal.getLabel() for logging. Superclass uses
inline value.getLabel in interface org.openrdf.model.LiteralgetLabel in class AbstractLiteralIV<BigdataLiteral,Object[]>public Object[] getInlineValue() throws UnsupportedOperationException
Object.UnsupportedOperationException - unless the RDF value is inline.public BigdataLiteral asValue(LexiconRelation lex) throws UnsupportedOperationException
URIExtensionIV or
LiteralExtensionIV as the delegate in cases where the extension
mechanism needs an array of inline IVs to represent its URI or Literal
respectively.lex - The lexicon relation (this is required in order to access the
BigdataValueFactory for the namespace associated with
lexicon when we materialize an inline IV).BigdataValue.UnsupportedOperationException - if the IV does not represent something which can be
materialized. For example, a dummy value or a "null".Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.