Create a user-defined type (UDT) (Java)
Creates a user-defined type (UDT) to use in a table.
|
Ready to write code? See the examples for this method to get started. If you are new to the Data API, check out the quickstart. |
Result
Creates a user-defined type with the specified definition.
Does not return anything.
Parameters
Use the createType method, which belongs to the com.datastax.astra.client.databases.Database class.
Method signature
void createType(
String name,
TableUserDefinedTypeDefinition typeDefinition
)
void createType(
String name,
TableUserDefinedTypeDefinition typeDefinition,
CreateTypeOptions options
)
| Name | Type | Summary |
|---|---|---|
|
|
The name of the new user-defined type. The name must be unique within the keyspace. |
|
|
The definition for the new user-defined type. The definition describes the name and data type of each field in the user-defined type. You can use any supported data type, except for maps, lists, sets, or other user-defined types. See the examples for usage. |
|
|
Optional.
The options for this operation. See Methods of the |
| Method | Parameters | Summary |
|---|---|---|
|
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name already exists in the keyspace and no new type was created. This option only checks type names. It does not check type definitions. Default: false |
|
|
Optional if you specified a working keyspace when you created the Default: The working keyspace set when you created the |
Examples
The following examples demonstrate how to create a user-defined type.
Create a user-defined type
import com.datastax.astra.client.DataAPIClients;
import com.datastax.astra.client.databases.Database;
import com.datastax.astra.client.tables.definition.types.TableUserDefinedTypeDefinition;
public class Example {
public static void main(String[] args) {
// Get a database
Database database =
DataAPIClients.clientHCD("USERNAME", "PASSWORD")
.getDatabase("API_ENDPOINT", "KEYSPACE_NAME");
// Create a user-defined type
TableUserDefinedTypeDefinition typeDefinition =
new TableUserDefinedTypeDefinition()
.addFieldText("name")
.addFieldBoolean("is_active")
.addFieldDate("date_joined");
database.createType("member", typeDefinition);
}
}
Create a user-defined type only if the type does not exist
Use this option to silently do nothing if a user-defined type with the specified name already exists.
This option only checks type names. It doesn’t check the definition of any existing types.
import com.datastax.astra.client.DataAPIClients;
import com.datastax.astra.client.databases.Database;
import com.datastax.astra.client.tables.commands.options.CreateTypeOptions;
import com.datastax.astra.client.tables.definition.types.TableUserDefinedTypeDefinition;
public class Example {
public static void main(String[] args) {
// Get a database
Database database =
DataAPIClients.clientHCD("USERNAME", "PASSWORD")
.getDatabase("API_ENDPOINT", "KEYSPACE_NAME");
// Create a user-defined type
TableUserDefinedTypeDefinition typeDefinition =
new TableUserDefinedTypeDefinition()
.addFieldText("name")
.addFieldBoolean("is_active")
.addFieldDate("date_joined");
database.createType("member", typeDefinition, new CreateTypeOptions().ifNotExists(true));
}
}
Client reference
For more information, see the client reference.