io.milvus.param.collection

## Class CreateCollectionParam.Builder

- java.lang.Object
- - io.milvus.param.collection.CreateCollectionParam.Builder

Enclosing class:
  CreateCollectionParam

    public static final class CreateCollectionParam.Builder
    extends java.lang.Object

Builder for `CreateCollectionParam` class.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`CreateCollectionParam.Builder` `addFieldType(@NonNull FieldType fieldType)` Deprecated. Use `withSchema(CollectionSchemaParam)` repace
`CreateCollectionParam` `build()` Verifies parameters and creates a new `CreateCollectionParam` instance.
`CreateCollectionParam.Builder` `withCollectionName(@NonNull java.lang.String collectionName)` Sets the collection name.
`CreateCollectionParam.Builder` `withConsistencyLevel(@NonNull ConsistencyLevelEnum consistencyLevel)` Sets the consistency level.
`CreateCollectionParam.Builder` `withDatabaseName(java.lang.String databaseName)` Sets the database name.
`CreateCollectionParam.Builder` `withDescription(@NonNull java.lang.String description)` Sets the collection description.
`CreateCollectionParam.Builder` `withEnableDynamicField(boolean enableDynamicField)` Deprecated. Use `withSchema(CollectionSchemaParam)` repace
`CreateCollectionParam.Builder` `withFieldTypes(@NonNull java.util.List<FieldType> fieldTypes)` Deprecated. Use `withSchema(CollectionSchemaParam)` repace
`CreateCollectionParam.Builder` `withPartitionsNum(int partitionsNum)` Sets the partitions number if there is partition key field.
`CreateCollectionParam.Builder` `withProperty(@NonNull java.lang.String key, @NonNull java.lang.String value)` Basic method to set a key-value property.
`CreateCollectionParam.Builder` `withReplicaNumber(int replicaNumber)` Sets the replica number in collection level, then if load collection doesn't have replica number, it will use this replica number.
`CreateCollectionParam.Builder` `withResourceGroups(@NonNull java.util.List<java.lang.String> resourceGroups)` Sets the resource groups in collection level, then if load collection doesn't have resource groups, it will use this resource groups.
`CreateCollectionParam.Builder` `withSchema(@NonNull CollectionSchemaParam schema)` Sets the schema of collection.
`CreateCollectionParam.Builder` `withShardsNum(int shardsNum)` Sets the shards number.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### withCollectionName

    public CreateCollectionParam.Builder withCollectionName(@NonNull
                                                            @NonNull java.lang.String collectionName)

Sets the collection name. Collection name cannot be empty or null.

Parameters:
  `collectionName` - collection name
Returns:
  `Builder`

#### withDatabaseName

    public CreateCollectionParam.Builder withDatabaseName(java.lang.String databaseName)

Sets the database name. database name can be nil.

Parameters:
  `databaseName` - database name
Returns:
  `Builder`

#### withShardsNum

    public CreateCollectionParam.Builder withShardsNum(int shardsNum)

Sets the shards number. The number must be greater or equal to zero. The default value is 0, which means letting the server decide the value. The server set this value to 1 if user didn't specify it.

Parameters:
  `shardsNum` - shards number to distribute insert data into multiple data nodes and query nodes.
Returns:
  `Builder`

#### withEnableDynamicField

    @Deprecated
    public CreateCollectionParam.Builder withEnableDynamicField(boolean enableDynamicField)

Deprecated. Use `withSchema(CollectionSchemaParam)` repace
Sets the collection if enableDynamicField.

Parameters:
  `enableDynamicField` - enableDynamicField of the collection
Returns:
  `Builder`

#### withDescription

    public CreateCollectionParam.Builder withDescription(@NonNull
                                                         @NonNull java.lang.String description)

Sets the collection description. The description can be empty. The default is "".

Parameters:
  `description` - description of the collection
Returns:
  `Builder`

#### withFieldTypes

    @Deprecated
    public CreateCollectionParam.Builder withFieldTypes(@NonNull
                                                                    @NonNull java.util.List<FieldType> fieldTypes)

Deprecated. Use `withSchema(CollectionSchemaParam)` repace
Sets the schema of the collection. The schema cannot be empty or null.

Parameters:
  `fieldTypes` - a `List` of `FieldType`
Returns:
  `Builder`
See Also:
  `FieldType`

#### addFieldType

    @Deprecated
    public CreateCollectionParam.Builder addFieldType(@NonNull
                                                                  @NonNull FieldType fieldType)

Deprecated. Use `withSchema(CollectionSchemaParam)` repace
Adds a field schema.

Parameters:
  `fieldType` - a `FieldType` object
Returns:
  `Builder`
See Also:
  `FieldType`

#### withConsistencyLevel

    public CreateCollectionParam.Builder withConsistencyLevel(@NonNull
                                                              @NonNull ConsistencyLevelEnum consistencyLevel)

Sets the consistency level. The default value is `ConsistencyLevelEnum.BOUNDED`.

Parameters:
  `consistencyLevel` - consistency level
Returns:
  `Builder`
See Also:
  `ConsistencyLevelEnum`

#### withPartitionsNum

    public CreateCollectionParam.Builder withPartitionsNum(int partitionsNum)

Sets the partitions number if there is partition key field. The number must be greater than zero. The default value is 64(defined in server side). The upper limit is 4096(defined in server side). Not allow to set this value if none of field is partition key. Only one partition key field is allowed in a collection.

Parameters:
  `partitionsNum` - partitions number
Returns:
  `Builder`

#### withSchema

    public CreateCollectionParam.Builder withSchema(@NonNull
                                                    @NonNull CollectionSchemaParam schema)

Sets the schema of collection.

Parameters:
  `schema` - the schema of collection
Returns:
  `Builder`

#### withReplicaNumber

    public CreateCollectionParam.Builder withReplicaNumber(int replicaNumber)

Sets the replica number in collection level, then if load collection doesn't have replica number, it will use this replica number.

Parameters:
  `replicaNumber` - replica number
Returns:
  `Builder`

#### withResourceGroups

    public CreateCollectionParam.Builder withResourceGroups(@NonNull
                                                            @NonNull java.util.List<java.lang.String> resourceGroups)

Sets the resource groups in collection level, then if load collection doesn't have resource groups, it will use this resource groups.

Parameters:
  `resourceGroups` - resource group names
Returns:
  `Builder`

#### withProperty

    public CreateCollectionParam.Builder withProperty(@NonNull
                                                      @NonNull java.lang.String key,
                                                      @NonNull
                                                      @NonNull java.lang.String value)

Basic method to set a key-value property.

Parameters:
  `key` - the key
  `value` - the value
Returns:
  `Builder`

#### build

    public CreateCollectionParam build()
                                throws ParamException

Verifies parameters and creates a new `CreateCollectionParam` instance.

Returns:
  `CreateCollectionParam`
Throws:
  `ParamException`