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>constraintsprivate ExpressiondefaultExpressionprivate DomaindomainParent domain.private ExpressiononUpdateExpressionprivate TypeInfotype-
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 voidaddConstraint(ConstraintDomain constraint)Add a constraint to the domain.voidcheckConstraints(SessionLocal session, Value value)Check the specified value.java.util.ArrayList<ConstraintDomain>getConstraints()java.lang.StringgetCreateSQL()Construct the CREATE ...java.lang.StringgetCreateSQLForCopy(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 tableTypeInfogetDataType()ExpressiongetDefaultExpression()java.lang.StringgetDefaultSQL()DomaingetDomain()java.lang.StringgetDropSQL()Construct a DROP ...ExpressiongetEffectiveDefaultExpression()ExpressiongetEffectiveOnUpdateExpression()ExpressiongetOnUpdateExpression()java.lang.StringgetOnUpdateSQL()intgetType()Get the object type.voidprepareExpressions(SessionLocal session)Prepare all expressions of this column or domain.voidremoveChildrenAndResources(SessionLocal session)Delete all dependent children objects and resources of this object.voidremoveConstraint(Constraint constraint)Remove the given constraint from the list.voidsetDataType(TypeInfo type)voidsetDefaultExpression(SessionLocal session, Expression defaultExpression)Set the default expression.voidsetDomain(Domain domain)voidsetOnUpdateExpression(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:DbObjectBuild 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:
getCreateSQLForCopyin classDbObject- Parameters:
table- the new tablequotedName- the quoted name- Returns:
- the SQL statement
-
getDropSQL
public java.lang.String getDropSQL()
Description copied from class:DbObjectConstruct a DROP ... SQL statement for this object.- Overrides:
getDropSQLin classDbObject- Returns:
- the SQL statement
-
getCreateSQL
public java.lang.String getCreateSQL()
Description copied from class:DbObjectConstruct the CREATE ... SQL statement for this object.- Specified by:
getCreateSQLin classDbObject- Returns:
- the SQL statement
-
setDataType
public void setDataType(TypeInfo type)
-
getDataType
public TypeInfo getDataType()
-
setDomain
public void setDomain(Domain domain)
- Specified by:
setDomainin interfaceColumnTemplate
-
getDomain
public Domain getDomain()
- Specified by:
getDomainin interfaceColumnTemplate
-
setDefaultExpression
public void setDefaultExpression(SessionLocal session, Expression defaultExpression)
Description copied from interface:ColumnTemplateSet the default expression.- Specified by:
setDefaultExpressionin interfaceColumnTemplate- Parameters:
session- the sessiondefaultExpression- the default expression
-
getDefaultExpression
public Expression getDefaultExpression()
- Specified by:
getDefaultExpressionin interfaceColumnTemplate
-
getEffectiveDefaultExpression
public Expression getEffectiveDefaultExpression()
- Specified by:
getEffectiveDefaultExpressionin interfaceColumnTemplate
-
getDefaultSQL
public java.lang.String getDefaultSQL()
- Specified by:
getDefaultSQLin interfaceColumnTemplate
-
setOnUpdateExpression
public void setOnUpdateExpression(SessionLocal session, Expression onUpdateExpression)
Description copied from interface:ColumnTemplateSet the on update expression.- Specified by:
setOnUpdateExpressionin interfaceColumnTemplate- Parameters:
session- the sessiononUpdateExpression- the on update expression
-
getOnUpdateExpression
public Expression getOnUpdateExpression()
- Specified by:
getOnUpdateExpressionin interfaceColumnTemplate
-
getEffectiveOnUpdateExpression
public Expression getEffectiveOnUpdateExpression()
- Specified by:
getEffectiveOnUpdateExpressionin interfaceColumnTemplate
-
getOnUpdateSQL
public java.lang.String getOnUpdateSQL()
- Specified by:
getOnUpdateSQLin interfaceColumnTemplate
-
prepareExpressions
public void prepareExpressions(SessionLocal session)
Description copied from interface:ColumnTemplatePrepare all expressions of this column or domain.- Specified by:
prepareExpressionsin 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:DbObjectGet the object type.
-
removeChildrenAndResources
public void removeChildrenAndResources(SessionLocal session)
Description copied from class:DbObjectDelete all dependent children objects and resources of this object.- Specified by:
removeChildrenAndResourcesin classDbObject- Parameters:
session- the session
-
checkConstraints
public void checkConstraints(SessionLocal session, Value value)
Check the specified value.- Parameters:
session- the sessionvalue- the value
-
-