public static final class TableProps.Builder
extends java.lang.Object
TableProps
Constructor and Description |
---|
Builder() |
public TableProps.Builder columns(java.util.List<? extends Column> columns)
TableProps.getColumns()
columns
- Columns of the table. This parameter is required.this
public TableProps.Builder database(IDatabase database)
TableProps.getDatabase()
database
- Database in which to store the table. This parameter is required.this
public TableProps.Builder dataFormat(DataFormat dataFormat)
TableProps.getDataFormat()
dataFormat
- Storage type of the table's data. This parameter is required.this
public TableProps.Builder tableName(java.lang.String tableName)
TableProps.getTableName()
tableName
- Name of the table. This parameter is required.this
public TableProps.Builder bucket(IBucket bucket)
TableProps.getBucket()
bucket
- S3 bucket in which to store data.this
public TableProps.Builder compressed(java.lang.Boolean compressed)
TableProps.getCompressed()
compressed
- Indicates whether the table's data is compressed or not.this
public TableProps.Builder description(java.lang.String description)
TableProps.getDescription()
description
- Description of the table.this
public TableProps.Builder encryption(TableEncryption encryption)
TableProps.getEncryption()
encryption
- The kind of encryption to secure the data with.
You can only provide this option if you are not explicitly passing in a bucket.
If you choose SSE-KMS
, you can provide an un-managed KMS key with encryptionKey
.
If you choose CSE-KMS
, you must provide an un-managed KMS key with encryptionKey
.
this
public TableProps.Builder encryptionKey(IKey encryptionKey)
TableProps.getEncryptionKey()
encryptionKey
- External KMS key to use for bucket encryption.
The encryption
property must be SSE-KMS
or CSE-KMS
.this
public TableProps.Builder partitionIndexes(java.util.List<? extends PartitionIndex> partitionIndexes)
TableProps.getPartitionIndexes()
partitionIndexes
- Partition indexes on the table.
A maximum of 3 indexes
are allowed on a table. Keys in the index must be part
of the table's partition keys.this
public TableProps.Builder partitionKeys(java.util.List<? extends Column> partitionKeys)
TableProps.getPartitionKeys()
partitionKeys
- Partition columns of the table.this
public TableProps.Builder s3Prefix(java.lang.String s3Prefix)
TableProps.getS3Prefix()
s3Prefix
- S3 prefix under which table objects are stored.this
public TableProps.Builder storedAsSubDirectories(java.lang.Boolean storedAsSubDirectories)
TableProps.getStoredAsSubDirectories()
storedAsSubDirectories
- Indicates whether the table data is stored in subdirectories.this
public TableProps build()
TableProps
java.lang.NullPointerException
- if any required attribute was not provided