Package 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
Description
`Domain(Schema schema, int id, String name)`

## Method Summary

Modifier and Type
Method
Description
`void`
`addConstraint(ConstraintDomain constraint)`
Add a constraint to the domain.
`void`
`checkConstraints(SessionLocal session, Value value)`
Check the specified value.
`ArrayList<ConstraintDomain>`
`getConstraints()`
`String`
`getCreateSQL()`
Construct the CREATE ...
`TypeInfo`
`getDataType()`
`Expression`
`getDefaultExpression()`
`String`
`getDefaultSQL()`
`Domain`
`getDomain()`
`String`
`getDropSQL()`
Construct a DROP ...
`Expression`
`getEffectiveDefaultExpression()`
`Expression`
`getEffectiveOnUpdateExpression()`
`Expression`
`getOnUpdateExpression()`
`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`

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

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

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

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

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

`getTraceSQL`

## Constructor Details

### Domain

public Domain(Schema schema, int id, String name)

## Method Details

### getDropSQL

public 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 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 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 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 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