org.h2.schema

## Class Domain

- java.lang.Object
- - org.h2.engine.DbObject
  - - org.h2.schema.SchemaObject
    - - org.h2.schema.Domain

All Implemented Interfaces:
  ColumnTemplate, HasSQL

    public final class Domain
    extends SchemaObject
    implements ColumnTemplate

Represents a domain.

### Field Summary

### Fields inherited from class org.h2.engine.DbObject

`AGGREGATE, comment, COMMENT, CONSTANT, CONSTRAINT, database, DOMAIN, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, trace, TRIGGER, USER`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

### Constructor Summary

Constructors
Constructor and Description
`Domain(Schema schema, int id, java.lang.String name)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addConstraint(ConstraintDomain constraint)` Add a constraint to the domain.
`void` `checkConstraints(SessionLocal session, Value value)` Check the specified value.
`java.util.ArrayList<ConstraintDomain>` `getConstraints()`
`java.lang.String` `getCreateSQL()` Construct the CREATE ...
`TypeInfo` `getDataType()`
`Expression` `getDefaultExpression()`
`java.lang.String` `getDefaultSQL()`
`Domain` `getDomain()`
`java.lang.String` `getDropSQL()` Construct a DROP ...
`Expression` `getEffectiveDefaultExpression()`
`Expression` `getEffectiveOnUpdateExpression()`
`Expression` `getOnUpdateExpression()`
`java.lang.String` `getOnUpdateSQL()`
`int` `getType()` Get the object type.
`void` `prepareExpressions(SessionLocal session)` Prepare all expressions of this column or domain.
`void` `removeChildrenAndResources(SessionLocal session)` Delete all dependent children objects and resources of this object.
`void` `removeConstraint(Constraint constraint)` Remove the given constraint from the list.
`void` `setDataType(TypeInfo type)`
`void` `setDefaultExpression(SessionLocal session, Expression defaultExpression)` Set the default expression.
`void` `setDomain(Domain domain)`
`void` `setOnUpdateExpression(SessionLocal session, Expression onUpdateExpression)` Set the on update expression.

### Methods inherited from class org.h2.schema.SchemaObject

`getSchema, getSQL, getSQL, isHidden`

### Methods inherited from class org.h2.engine.DbObject

`checkRename, getChildren, getComment, getCreateSQLForCopy, getCreateSQLForMeta, getDatabase, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toString`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.h2.util.HasSQL

`getTraceSQL`

### Constructor Detail

#### Domain

    public Domain(Schema schema,
                  int id,
                  java.lang.String name)

### Method Detail

#### getDropSQL

    public java.lang.String getDropSQL()

Description copied from class: `DbObject`
Construct a DROP ... SQL statement for this object.

Overrides:
  `getDropSQL` in class `DbObject`
Returns:
  the SQL statement

#### getCreateSQL

    public java.lang.String getCreateSQL()

Description copied from class: `DbObject`
Construct the CREATE ... SQL statement for this object.

Specified by:
  `getCreateSQL` in class `DbObject`
Returns:
  the SQL statement

#### setDataType

    public void setDataType(TypeInfo type)

#### getDataType

    public TypeInfo getDataType()

#### setDomain

    public void setDomain(Domain domain)

Specified by:
  `setDomain` in interface `ColumnTemplate`

#### getDomain

    public Domain getDomain()

Specified by:
  `getDomain` in interface `ColumnTemplate`

#### setDefaultExpression

    public void setDefaultExpression(SessionLocal session,
                                     Expression defaultExpression)

Description copied from interface: `ColumnTemplate`
Set the default expression.

Specified by:
  `setDefaultExpression` in interface `ColumnTemplate`
Parameters:
  `session` - the session
  `defaultExpression` - the default expression

#### getDefaultExpression

    public Expression getDefaultExpression()

Specified by:
  `getDefaultExpression` in interface `ColumnTemplate`

#### getEffectiveDefaultExpression

    public Expression getEffectiveDefaultExpression()

Specified by:
  `getEffectiveDefaultExpression` in interface `ColumnTemplate`

#### getDefaultSQL

    public java.lang.String getDefaultSQL()

Specified by:
  `getDefaultSQL` in interface `ColumnTemplate`

#### setOnUpdateExpression

    public void setOnUpdateExpression(SessionLocal session,
                                      Expression onUpdateExpression)

Description copied from interface: `ColumnTemplate`
Set the on update expression.

Specified by:
  `setOnUpdateExpression` in interface `ColumnTemplate`
Parameters:
  `session` - the session
  `onUpdateExpression` - the on update expression

#### getOnUpdateExpression

    public Expression getOnUpdateExpression()

Specified by:
  `getOnUpdateExpression` in interface `ColumnTemplate`

#### getEffectiveOnUpdateExpression

    public Expression getEffectiveOnUpdateExpression()

Specified by:
  `getEffectiveOnUpdateExpression` in interface `ColumnTemplate`

#### getOnUpdateSQL

    public java.lang.String getOnUpdateSQL()

Specified by:
  `getOnUpdateSQL` in interface `ColumnTemplate`

#### prepareExpressions

    public void prepareExpressions(SessionLocal session)

Description copied from interface: `ColumnTemplate`
Prepare all expressions of this column or domain.

Specified by:
  `prepareExpressions` in interface `ColumnTemplate`
Parameters:
  `session` - the session

#### addConstraint

    public void addConstraint(ConstraintDomain constraint)

Add a constraint to the domain.

Parameters:
  `constraint` - the constraint to add

#### getConstraints

    public java.util.ArrayList<ConstraintDomain> getConstraints()

#### removeConstraint

    public void removeConstraint(Constraint constraint)

Remove the given constraint from the list.

Parameters:
  `constraint` - the constraint to remove

#### getType

    public int getType()

Description copied from class: `DbObject`
Get the object type.

Specified by:
  `getType` in class `DbObject`
Returns:
  the object type

#### removeChildrenAndResources

    public void removeChildrenAndResources(SessionLocal session)

Description copied from class: `DbObject`
Delete all dependent children objects and resources of this object.

Specified by:
  `removeChildrenAndResources` in class `DbObject`
Parameters:
  `session` - the session

#### checkConstraints

    public void checkConstraints(SessionLocal session,
                                 Value value)

Check the specified value.

Parameters:
  `session` - the session
  `value` - the value