Package org.h2.schema

# Class SchemaObject

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

All Implemented Interfaces:
  `HasSQL`

Direct Known Subclasses:
  `Constant`, `Constraint`, `Domain`, `Index`, `Sequence`, `Table`, `TableSynonym`, `TriggerObject`, `UserDefinedFunction`

public abstract class SchemaObject extends DbObject
Any database object that is stored in a schema.

## 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
Modifier
Constructor
Description
`protected`
`SchemaObject(Schema newSchema, int id, String name, int traceModuleId)`
Initialize some attributes of this object.

## Method Summary

Modifier and Type
Method
Description
`final Schema`
`getSchema()`
Get the schema in which this object is defined
`String`
`getSQL(int sqlFlags)`
Get the SQL statement of this expression.
`StringBuilder`
`getSQL(StringBuilder builder, int sqlFlags)`
Appends the SQL statement of this object to the specified builder.

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

`checkRename, equals, getChildren, getComment, getCreateSQL, getCreateSQLForCopy, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, getType, hashCode, invalidate, isTemporary, isValid, removeChildrenAndResources, 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

### SchemaObject

protected SchemaObject(Schema newSchema, int id, String name, int traceModuleId)
Initialize some attributes of this object.

Parameters:
  `newSchema` - the schema
  `id` - the object id
  `name` - the name
  `traceModuleId` - the trace module id

## Method Details

### getSchema

public final Schema getSchema()
Get the schema in which this object is defined

Returns:
  the schema

### getSQL

public String getSQL(int sqlFlags)
Description copied from interface: `HasSQL`
Get the SQL statement of this expression. This may not always be the original SQL statement, specially after optimization.

Specified by:
  `getSQL` in interface `HasSQL`
Overrides:
  `getSQL` in class `DbObject`
Parameters:
  `sqlFlags` - formatting flags
Returns:
  the SQL statement

### getSQL

public StringBuilder getSQL(StringBuilder builder, int sqlFlags)
Description copied from interface: `HasSQL`
Appends the SQL statement of this object to the specified builder.

Specified by:
  `getSQL` in interface `HasSQL`
Overrides:
  `getSQL` in class `DbObject`
Parameters:
  `builder` - string builder
  `sqlFlags` - formatting flags
Returns:
  the specified string builder