com.mysql.cj.conf

## Interface PropertyDefinition<T>

    public interface PropertyDefinition<T>

### Method Summary

All Methods Instance Methods Abstract Methods
`RuntimeProperty<T>` `createRuntimeProperty()` Creates instance of ReadableProperty or ModifiableProperty depending on isRuntimeModifiable() result.
`String[]` `getAllowableValues()` Returns the list of allowable values.
`String` `getCategory()` Returns the property category.
`String` `getCcAlias()` Returns the property camel-case alias.
`T` `getDefaultValue()` Returns the default value.
`String` `getDescription()` Returns the property description.
`int` `getLowerBound()` The lowest possible value of range-based property
`String` `getName()` Returns the property name.
`int` `getOrder()` Returns the property order.
`PropertyKey` `getPropertyKey()` Get the property key.
`String` `getSinceVersion()` Returns the driver version where the property was introduced first.
`int` `getUpperBound()` The highest possible value of range-based property
`boolean` `hasCcAlias()` Returns true if property has a camel-case alias.
`boolean` `hasValueConstraints()` Does the property have fixed values based constraints.
`boolean` `isRangeBased()` Returns true if property has range-based constraints
`boolean` `isRuntimeModifiable()` May the property be changed after initialization.
`T` `parseObject(String value, ExceptionInterceptor exceptionInterceptor)` Returns the value object parsed from it's string representation and checked against allowable values.

### Method Detail

#### hasValueConstraints

    boolean hasValueConstraints()

Does the property have fixed values based constraints.

Returns:
  true if property has fixed values based constraints.

#### isRangeBased

    boolean isRangeBased()

Returns true if property has range-based constraints

Returns:
  true if property has range-based constraints

#### getPropertyKey

    PropertyKey getPropertyKey()

Get the property key.

Returns:
  `PropertyKey` or null if it's a custom property.

#### getName

    String getName()

Returns the property name.

Returns:
  the property name

#### getCcAlias

    String getCcAlias()

Returns the property camel-case alias.

Returns:
  the property camel-case alias.

#### hasCcAlias

    boolean hasCcAlias()

Returns true if property has a camel-case alias.

Returns:
  true if property has a camel-case alias.

#### getDefaultValue

    T getDefaultValue()

Returns the default value.

Returns:
  default value

#### isRuntimeModifiable

    boolean isRuntimeModifiable()

May the property be changed after initialization.

Returns:
  true if the property value may be changed after initialization.

#### getDescription

    String getDescription()

Returns the property description. Used for documentation.

Returns:
  property description

#### getSinceVersion

    String getSinceVersion()

Returns the driver version where the property was introduced first. Used for documentation.

Returns:
  the driver version where the property was introduced first

#### getCategory

    String getCategory()

Returns the property category.

Returns:
  property category

#### getOrder

    int getOrder()

Returns the property order. Used as preferred property position in properties table in documentation.

Returns:
  property order

#### getAllowableValues

    String[] getAllowableValues()

Returns the list of allowable values.

Returns:
  the list of allowable values

#### getLowerBound

    int getLowerBound()

The lowest possible value of range-based property

Returns:
  the lowest possible value of range-based property

#### getUpperBound

    int getUpperBound()

The highest possible value of range-based property

Returns:
  the highest possible value of range-based property

#### parseObject

    T parseObject(String value,
                  ExceptionInterceptor exceptionInterceptor)

Returns the value object parsed from it's string representation and checked against allowable values.

Parameters:
  `value` - value
  `exceptionInterceptor` - exception interceptor
Returns:
  the value object

#### createRuntimeProperty

    RuntimeProperty<T> createRuntimeProperty()

Creates instance of ReadableProperty or ModifiableProperty depending on isRuntimeModifiable() result.

Returns:
  `RuntimeProperty` instance

Copyright © 2016, 2023, Oracle and/or its affiliates.