SQL-J Language Reference
Page 11 of 121

CREATE CLASS ALIAS statement

A CREATE CLASS ALIAS statement allows you to create an alias for a Java class for use within SQL-J statements. Once you create an alias for a class, you no longer have to use the full package name to refer to the class. In addition, when calling static methods, referencing static fields, and casting Java data types, you do not have to use the CLASS keyword when the classes have aliases.

Class aliases are not defined within a particular schema.

Syntax

CREATE CLASS ALIAS [ ClassAlias] FOR JavaClassName

Like all SQL92Identifiers, class aliases are case-insensitive unless delimited.

If you do not specify the alias for the class, Cloudscape uses the class name (minus any package names) as the alias. Specifying an alias for the class that is not the actual class name is useful in situations in which two different packages have a class of the same name.

The Java class must be public and available on the current system or database class path.

CREATE CLASS ALIAS Examples

-- by default, the alias is the class name
-- so in this example, the alias would
-- be TimeZone
CREATE CLASS ALIAS FOR java.util.TimeZone

CREATE CLASS ALIAS tZone FOR
    JBMSTours.serializabletypes.TimeZone

CREATE CLASS ALIAS "timeZone" FOR
    JBMSTours.serializabletypes.TimeZone

-- Once you create an alias, use it where
-- otherwise you would have to use the full
-- class name.
CREATE TABLE tzones (tzone SERIALIZE("timeZone"))

Cloudscape-Supplied Class Aliases for Proprietary Classes

Cloudscape provides class aliases for Cloudscape classes that may be referenced within SQL-J statements. Table 1-1 shows the built-in class aliases.

Table 1-1 Built-in Class Aliases

Class

Case-Insensitive Alias

COM.cloudscape.database.ConsistencyChecker

ConsistencyChecker

COM.cloudscape.database.ConnectionInfo

ConnectionInfo

COM.cloudscape.database.Database

Database

COM.cloudscape.database.Factory

Factory

COM.cloudscape.database.PropertyInfo

PropertyInfo

COM.cloudscape.database.UserUtility

UserUtility

COM.cloudscape.synchronization.ErrorTransactionVTI

ErrorTransactionVTI

COM.cloudscape.synchronization.RowListVTI

RowListVTI

COM.cloudscape.synchronization.StatementListVTI

StatementListVTI

COM.cloudscape.synchronization.TransactionListVTI

TransactionListVTI

COM.cloudscape.tools.dbclasses

dbclasses

COM.cloudscape.tools.FileExport

FileExport

COM.cloudscape.tools.FileImport

FileImport

COM.cloudscape.types.AliasInfo

AliasInfo

COM.cloudscape.types.DefaultInfo

DefaultInfo

COM.cloudscape.types.DependableFinder

DependableFinder

COM.cloudscape.types.ErrorInfo

ErrorInfo

COM.cloudscape.types.IndexDescriptor

IndexDescriptor

COM.cloudscape.types.ReferencedColumnsDescriptor

ReferencedColumnsDescriptor

COM.cloudscape.types.TypeDescriptor

TypeDescriptor

COM.cloudscape.util.BitUtil

BitUtil

COM.cloudscape.util.KeyGen

KeyGen

COM.cloudscape.vti.ErrorMessages

ErrorMessages

COM.cloudscape.vti.ExternalQuery

ExternalQuery

COM.cloudscape.vti.LockTable

LockTable

COM.cloudscape.vti.SpaceTable

SpaceTable

COM.cloudscape.vti.TransactionTable

TransactionTable

COM.cloudscape.vti.TriggerNewTransitionRows

TriggerNewTransitionRows

COM.cloudscape.vti.TriggerOldTransitionRows

TriggerOldTransitionRows

Class Aliases and Cloudscape synchronization

Except for built-in class aliases, you must explicitly add class aliases to a publication.