Class FDBStoredRecordBuilder<M extends Message>
- java.lang.Object
-
- com.apple.foundationdb.record.provider.foundationdb.FDBStoredRecordBuilder<M>
-
- Type Parameters:
M
- type used to represent stored records
- All Implemented Interfaces:
FDBRecord<M>
,FDBStoredSizes
@API(MAINTAINED) public class FDBStoredRecordBuilder<M extends Message> extends Object implements FDBRecord<M>, FDBStoredSizes
A builder forFDBStoredRecord
.
-
-
Constructor Summary
Constructors Constructor Description FDBStoredRecordBuilder()
FDBStoredRecordBuilder(M record)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FDBStoredRecord<M>
build()
int
getKeyCount()
Get the number of keys used to store this record.int
getKeySize()
Get the size in bytes of all keys used to store this record.Tuple
getPrimaryKey()
Get the primary key for this record.M
getRecord()
Get the Protobuf message form of this record.RecordType
getRecordType()
Get the record type for this record.int
getValueSize()
Get the size in bytes of all values used to store this record.FDBRecordVersion
getVersion()
Get theFDBRecordVersion
associated with this record (ornull
).boolean
hasVersion()
Get whether aFDBRecordVersion
has been set for thisStoredRecord
.boolean
isSplit()
Get whether this record is split between two or more key-value pairs.boolean
isVersionedInline()
Get whether this record was stored with an associated version.FDBStoredRecordBuilder<M>
setKeyCount(int keyCount)
FDBStoredRecordBuilder<M>
setKeySize(int keySize)
FDBStoredRecordBuilder<M>
setPrimaryKey(Tuple primaryKey)
FDBStoredRecordBuilder<M>
setRecord(M record)
FDBStoredRecordBuilder<M>
setRecordType(RecordType recordType)
FDBStoredRecordBuilder<M>
setSize(FDBStoredSizes size)
FDBStoredRecordBuilder<M>
setSplit(boolean split)
FDBStoredRecordBuilder<M>
setValueSize(int valueSize)
FDBStoredRecordBuilder<M>
setVersion(FDBRecordVersion recordVersion)
FDBStoredRecordBuilder<M>
setVersionedInline(boolean versionedInline)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.apple.foundationdb.record.provider.foundationdb.FDBStoredSizes
addSizeLogInfo
-
-
-
-
Method Detail
-
getPrimaryKey
@Nonnull public Tuple getPrimaryKey()
Description copied from interface:FDBRecord
Get the primary key for this record.- Specified by:
getPrimaryKey
in interfaceFDBRecord<M extends Message>
- Returns:
- primary key for this record
-
getRecordType
@Nonnull public RecordType getRecordType()
Description copied from interface:FDBRecord
Get the record type for this record.- Specified by:
getRecordType
in interfaceFDBRecord<M extends Message>
- Returns:
- record type for this record
-
getRecord
@Nonnull public M getRecord()
Description copied from interface:FDBRecord
Get the Protobuf message form of this record.
-
hasVersion
public boolean hasVersion()
Description copied from interface:FDBRecord
Get whether aFDBRecordVersion
has been set for thisStoredRecord
.- Specified by:
hasVersion
in interfaceFDBRecord<M extends Message>
- Returns:
true
if this record has a version
-
getVersion
@Nullable public FDBRecordVersion getVersion()
Description copied from interface:FDBRecord
Get theFDBRecordVersion
associated with this record (ornull
).- Specified by:
getVersion
in interfaceFDBRecord<M extends Message>
- Returns:
- the version for this record
-
getKeyCount
public int getKeyCount()
Description copied from interface:FDBStoredSizes
Get the number of keys used to store this record.- Specified by:
getKeyCount
in interfaceFDBStoredSizes
- Returns:
- number of keys
-
getKeySize
public int getKeySize()
Description copied from interface:FDBStoredSizes
Get the size in bytes of all keys used to store this record.- Specified by:
getKeySize
in interfaceFDBStoredSizes
- Returns:
- size in bytes
-
getValueSize
public int getValueSize()
Description copied from interface:FDBStoredSizes
Get the size in bytes of all values used to store this record.- Specified by:
getValueSize
in interfaceFDBStoredSizes
- Returns:
- size in bytes
-
isSplit
public boolean isSplit()
Description copied from interface:FDBStoredSizes
Get whether this record is split between two or more key-value pairs.- Specified by:
isSplit
in interfaceFDBStoredSizes
- Returns:
true
if split
-
isVersionedInline
public boolean isVersionedInline()
Description copied from interface:FDBStoredSizes
Get whether this record was stored with an associated version. In particular, this states whether there was a version stored directly with the record in the database, which should only be true if the format version of the database is greater than or equal toFDBRecordStore.SAVE_VERSION_WITH_RECORD_FORMAT_VERSION
.- Specified by:
isVersionedInline
in interfaceFDBStoredSizes
- Returns:
true
if this record is stored with a version in-line
-
setPrimaryKey
public FDBStoredRecordBuilder<M> setPrimaryKey(Tuple primaryKey)
-
setRecordType
public FDBStoredRecordBuilder<M> setRecordType(RecordType recordType)
-
setRecord
public FDBStoredRecordBuilder<M> setRecord(M record)
-
setVersion
public FDBStoredRecordBuilder<M> setVersion(FDBRecordVersion recordVersion)
-
setKeyCount
public FDBStoredRecordBuilder<M> setKeyCount(int keyCount)
-
setKeySize
public FDBStoredRecordBuilder<M> setKeySize(int keySize)
-
setValueSize
public FDBStoredRecordBuilder<M> setValueSize(int valueSize)
-
setSplit
public FDBStoredRecordBuilder<M> setSplit(boolean split)
-
setVersionedInline
public FDBStoredRecordBuilder<M> setVersionedInline(boolean versionedInline)
-
setSize
public FDBStoredRecordBuilder<M> setSize(@Nonnull FDBStoredSizes size)
-
build
public FDBStoredRecord<M> build()
-
-