Class JoinedRecordTypeBuilder
- java.lang.Object
-
- com.apple.foundationdb.record.metadata.RecordTypeIndexesBuilder
-
- com.apple.foundationdb.record.metadata.SyntheticRecordTypeBuilder<JoinedRecordTypeBuilder.JoinConstituent>
-
- com.apple.foundationdb.record.metadata.JoinedRecordTypeBuilder
-
@API(EXPERIMENTAL) public class JoinedRecordTypeBuilder extends SyntheticRecordTypeBuilder<JoinedRecordTypeBuilder.JoinConstituent>
A builder forJoinedRecordType
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JoinedRecordTypeBuilder.Join
An equi-join between constituent types.static class
JoinedRecordTypeBuilder.JoinConstituent
A constituent type within a joined record type.-
Nested classes/interfaces inherited from class com.apple.foundationdb.record.metadata.SyntheticRecordTypeBuilder
SyntheticRecordTypeBuilder.Constituent
-
-
Field Summary
-
Fields inherited from class com.apple.foundationdb.record.metadata.RecordTypeIndexesBuilder
indexes, multiTypeIndexes, name, recordTypeKey
-
-
Constructor Summary
Constructors Constructor Description JoinedRecordTypeBuilder(RecordMetaDataProto.JoinedRecordType typeProto, RecordMetaDataBuilder metaDataBuilder)
JoinedRecordTypeBuilder(String name, Object recordTypeKey, RecordMetaDataBuilder metaDataBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JoinedRecordTypeBuilder.JoinConstituent
addConstituent(String name, RecordTypeBuilder recordType, boolean isOuterJoined)
Add a new constituent by name.JoinedRecordTypeBuilder.Join
addJoin(String left, KeyExpression leftExpression, String right, KeyExpression rightExpression)
Add a new join.JoinedRecordTypeBuilder.Join
addJoin(String left, String leftField, String right, String rightField)
Add a new join.JoinedRecordType
build(RecordMetaData metaData, Descriptors.FileDescriptor fileDescriptor)
List<JoinedRecordTypeBuilder.Join>
getJoins()
Get the list of joins for this joined record type.protected JoinedRecordTypeBuilder.JoinConstituent
newConstituent(String name, RecordTypeBuilder recordType)
-
Methods inherited from class com.apple.foundationdb.record.metadata.SyntheticRecordTypeBuilder
addConstituent, addConstituent, addConstituent, addConstituent, addConstituent, buildDescriptor, buildPrimaryKey, getConstituents, setRecordTypeKey
-
Methods inherited from class com.apple.foundationdb.record.metadata.RecordTypeIndexesBuilder
getIndexes, getMultiTypeIndexes, getName, getRecordTypeKey
-
-
-
-
Constructor Detail
-
JoinedRecordTypeBuilder
public JoinedRecordTypeBuilder(@Nonnull String name, @Nonnull Object recordTypeKey, @Nonnull RecordMetaDataBuilder metaDataBuilder)
-
JoinedRecordTypeBuilder
public JoinedRecordTypeBuilder(@Nonnull RecordMetaDataProto.JoinedRecordType typeProto, @Nonnull RecordMetaDataBuilder metaDataBuilder)
-
-
Method Detail
-
newConstituent
@Nonnull protected JoinedRecordTypeBuilder.JoinConstituent newConstituent(@Nonnull String name, @Nonnull RecordTypeBuilder recordType)
- Specified by:
newConstituent
in classSyntheticRecordTypeBuilder<JoinedRecordTypeBuilder.JoinConstituent>
-
addConstituent
@Nonnull public JoinedRecordTypeBuilder.JoinConstituent addConstituent(@Nonnull String name, @Nonnull RecordTypeBuilder recordType, boolean isOuterJoined)
Add a new constituent by name.- Parameters:
name
- the correlation name for the new constituentrecordType
- the record type for the new constituentisOuterJoined
- whether constituent is outer-joined in joins in which it participates- Returns:
- the newly added constituent
-
getJoins
@Nonnull public List<JoinedRecordTypeBuilder.Join> getJoins()
Get the list of joins for this joined record type.- Returns:
- the list of joins
-
addJoin
@Nonnull public JoinedRecordTypeBuilder.Join addJoin(@Nonnull String left, @Nonnull KeyExpression leftExpression, @Nonnull String right, @Nonnull KeyExpression rightExpression)
Add a new join.- Parameters:
left
- the correlation name of the left constituentleftExpression
- an expression to evaluate against the left constituentright
- the correlation name of the right constituentrightExpression
- an expression to evaluate against the right constituent- Returns:
- the newly added join
-
addJoin
@Nonnull public JoinedRecordTypeBuilder.Join addJoin(@Nonnull String left, @Nonnull String leftField, @Nonnull String right, @Nonnull String rightField)
Add a new join.- Parameters:
left
- the correlation name of the left constituentleftField
- a field to evaluate in the left constituentright
- the correlation name of the right constituentrightField
- a field to evaluate in the right constituent- Returns:
- the newly added join
-
build
@Nonnull public JoinedRecordType build(@Nonnull RecordMetaData metaData, @Nonnull Descriptors.FileDescriptor fileDescriptor)
- Specified by:
build
in classSyntheticRecordTypeBuilder<JoinedRecordTypeBuilder.JoinConstituent>
-
-