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 Modifier and Type Field Description private java.util.ArrayList<ConstraintDomain>
constraints
private Expression
defaultExpression
private Domain
domain
Parent domain.private Expression
onUpdateExpression
private TypeInfo
type
-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods 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.java.util.ArrayList<ConstraintDomain>
getConstraints()
java.lang.String
getCreateSQL()
Construct the CREATE ...java.lang.String
getCreateSQLForCopy(Table table, java.lang.String quotedName)
Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different tableTypeInfo
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, 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
-
-
-
-
Field Detail
-
type
private TypeInfo type
-
domain
private Domain domain
Parent domain.
-
defaultExpression
private Expression defaultExpression
-
onUpdateExpression
private Expression onUpdateExpression
-
constraints
private java.util.ArrayList<ConstraintDomain> constraints
-
-
Constructor Detail
-
Domain
public Domain(Schema schema, int id, java.lang.String name)
-
-
Method Detail
-
getCreateSQLForCopy
public java.lang.String getCreateSQLForCopy(Table table, java.lang.String quotedName)
Description copied from class:DbObject
Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different table- Specified by:
getCreateSQLForCopy
in classDbObject
- Parameters:
table
- the new tablequotedName
- the quoted name- Returns:
- the SQL statement
-
getDropSQL
public java.lang.String getDropSQL()
Description copied from class:DbObject
Construct a DROP ... SQL statement for this object.- Overrides:
getDropSQL
in classDbObject
- 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 classDbObject
- Returns:
- the SQL statement
-
setDataType
public void setDataType(TypeInfo type)
-
getDataType
public TypeInfo getDataType()
-
setDomain
public void setDomain(Domain domain)
- Specified by:
setDomain
in interfaceColumnTemplate
-
getDomain
public Domain getDomain()
- Specified by:
getDomain
in interfaceColumnTemplate
-
setDefaultExpression
public void setDefaultExpression(SessionLocal session, Expression defaultExpression)
Description copied from interface:ColumnTemplate
Set the default expression.- Specified by:
setDefaultExpression
in interfaceColumnTemplate
- Parameters:
session
- the sessiondefaultExpression
- the default expression
-
getDefaultExpression
public Expression getDefaultExpression()
- Specified by:
getDefaultExpression
in interfaceColumnTemplate
-
getEffectiveDefaultExpression
public Expression getEffectiveDefaultExpression()
- Specified by:
getEffectiveDefaultExpression
in interfaceColumnTemplate
-
getDefaultSQL
public java.lang.String getDefaultSQL()
- Specified by:
getDefaultSQL
in interfaceColumnTemplate
-
setOnUpdateExpression
public void setOnUpdateExpression(SessionLocal session, Expression onUpdateExpression)
Description copied from interface:ColumnTemplate
Set the on update expression.- Specified by:
setOnUpdateExpression
in interfaceColumnTemplate
- Parameters:
session
- the sessiononUpdateExpression
- the on update expression
-
getOnUpdateExpression
public Expression getOnUpdateExpression()
- Specified by:
getOnUpdateExpression
in interfaceColumnTemplate
-
getEffectiveOnUpdateExpression
public Expression getEffectiveOnUpdateExpression()
- Specified by:
getEffectiveOnUpdateExpression
in interfaceColumnTemplate
-
getOnUpdateSQL
public java.lang.String getOnUpdateSQL()
- Specified by:
getOnUpdateSQL
in interfaceColumnTemplate
-
prepareExpressions
public void prepareExpressions(SessionLocal session)
Description copied from interface:ColumnTemplate
Prepare all expressions of this column or domain.- Specified by:
prepareExpressions
in interfaceColumnTemplate
- 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.
-
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 classDbObject
- Parameters:
session
- the session
-
checkConstraints
public void checkConstraints(SessionLocal session, Value value)
Check the specified value.- Parameters:
session
- the sessionvalue
- the value
-
-