/** * Return the unsigned byte[] key for a term identifier. * * @param obj * The term identifier as a {@link TermId}. */ public byte[] serializeKey(final Object obj) { return id2key((TermId<?>) obj); }
/** * De-serializes the {@link ITuple} as a {@link BigdataValue}, including * the term identifier extracted from the unsigned byte[] key, and sets * the appropriate {@link BigdataValueFactoryImpl} reference on that object. */ public BigdataValue deserialize(final ITuple tuple) { final IV<?,?> iv = deserializeKey(tuple); final BigdataValue tmp = valueSer.deserialize(tuple.getValueStream(), new StringBuilder()); tmp.setIV(iv); return tmp; }
/** * * @param keyBuilderFactory * A factory that does not support unicode and has an * initialCapacity of {@value Bytes#SIZEOF_LONG}. */ public Id2TermTupleSerializer(final String namespace, final BigdataValueFactory valueFactory) { this(namespace,valueFactory, // Note: TermId is now 9 bytes (flags + tid) new ASCIIKeyBuilderFactory(Bytes.SIZEOF_LONG+1),// getDefaultLeafKeysCoder(),// // getDefaultValuesCoder() // Canonical Huffman coding. SimpleRabaCoder.INSTANCE // Much faster ); }
final Id2TermTupleSerializer fixture = new Id2TermTupleSerializer( namespace, BigdataValueFactoryImpl.getInstance(namespace)); final byte[] k1 = fixture.id2key(id1); final byte[] k2 = fixture.id2key(id2); final byte[] k3 = fixture.id2key(id3);
metadata.setTupleSerializer(new Id2TermTupleSerializer( getNamespace(), getValueFactory()));
final byte[] key = tupSer.serializeKey(iv); ivCache.insert(key, tupSer.serializeVal(value));
.getIndexMetadata().getTupleSerializer(); final IKeyBuilder keyBuilder = tupSer.getKeyBuilder(); final BigdataValue value = tupSer.deserialize(ivCacheTuple); final BigdataValue value = tupSer.deserialize(ivCacheTuple);
/** * Generates an unsigned byte[] key from a {@link TermId}. * <p> * Note: The code that handles efficient batch insertion of terms into the * database replicates the logic for encoding the term identifier as an * unsigned long integer. * * @param id * The term identifier. * * @return The id expressed as an unsigned byte[] key of length 8. * * @see #key2Id() */ public byte[] id2key(final TermId<?> tid) { return tid.encode(getKeyBuilder().reset()).getKey(); }
final Id2TermTupleSerializer fixture = new Id2TermTupleSerializer( namespace, BigdataValueFactoryImpl.getInstance(namespace)); final byte[] k1 = fixture.id2key(id1); final byte[] k2 = fixture.id2key(id2); final byte[] k3 = fixture.id2key(id3);
metadata.setTupleSerializer(new Id2TermTupleSerializer( getNamespace(), getValueFactory()));
final byte[] key = tupSer.serializeKey(iv); ivCache.insert(key, tupSer.serializeVal(value));
.getIndexMetadata().getTupleSerializer(); final IKeyBuilder keyBuilder = tupSer.getKeyBuilder(); final BigdataValue value = tupSer.deserialize(ivCacheTuple); final BigdataValue value = tupSer.deserialize(ivCacheTuple);
/** * Generates an unsigned byte[] key from a {@link TermId}. * <p> * Note: The code that handles efficient batch insertion of terms into the * database replicates the logic for encoding the term identifier as an * unsigned long integer. * * @param id * The term identifier. * * @return The id expressed as an unsigned byte[] key of length 8. * * @see #key2Id() */ public byte[] id2key(final TermId<?> tid) { return tid.encode(getKeyBuilder().reset()).getKey(); }
final Id2TermTupleSerializer fixture = new Id2TermTupleSerializer( namespace, BigdataValueFactoryImpl.getInstance(namespace)); final byte[] k1 = fixture.id2key(id1); final byte[] k2 = fixture.id2key(id2); final byte[] k3 = fixture.id2key(id3);
IndexAnnotations.DEFAULT_WRITE_RETENTION_QUEUE_CAPACITY)); metadata.setTupleSerializer(new Id2TermTupleSerializer(namespace, valueFactory, new ASCIIKeyBuilderFactory(Bytes.SIZEOF_LONG),// new FrontCodedRabaCoder(ratio), SimpleRabaCoder.INSTANCE));
/** * Return the unsigned byte[] key for a term identifier. * * @param obj * The term identifier as a {@link TermId}. */ public byte[] serializeKey(final Object obj) { return id2key((TermId<?>) obj); }
/** * De-serializes the {@link ITuple} as a {@link BigdataValue}, including * the term identifier extracted from the unsigned byte[] key, and sets * the appropriate {@link BigdataValueFactoryImpl} reference on that object. */ public BigdataValue deserialize(final ITuple tuple) { final IV<?,?> iv = deserializeKey(tuple); final BigdataValue tmp = valueSer.deserialize(tuple.getValueStream(), new StringBuilder()); tmp.setIV(iv); return tmp; }
/** * * @param keyBuilderFactory * A factory that does not support unicode and has an * initialCapacity of {@value Bytes#SIZEOF_LONG}. */ public Id2TermTupleSerializer(final String namespace, final BigdataValueFactory valueFactory) { this(namespace,valueFactory, // Note: TermId is now 9 bytes (flags + tid) new ASCIIKeyBuilderFactory(Bytes.SIZEOF_LONG+1),// getDefaultLeafKeysCoder(),// // getDefaultValuesCoder() // Canonical Huffman coding. SimpleRabaCoder.INSTANCE // Much faster ); }
IndexAnnotations.DEFAULT_WRITE_RETENTION_QUEUE_CAPACITY)); metadata.setTupleSerializer(new Id2TermTupleSerializer(namespace, valueFactory, new ASCIIKeyBuilderFactory(Bytes.SIZEOF_LONG),// new FrontCodedRabaCoder(ratio), SimpleRabaCoder.INSTANCE));
.getIndexMetadata().getTupleSerializer(); final byte[] key = tupleSer.id2key(iv);