文章
· 七月 23, 2021 阅读大约需 3 分钟

类关键字ClientDataType,ClientName,CompileAfter,DdlAllowed

 

# <center> 第十三章 类关键字 - ClientDataType

指定将此数据类型投影到客户端技术时使用的客户端数据类型。仅适用于数据类型类。

# 用法

要指定将此数据类型投影到客户端技术时要使用的客户端数据类型,请使用以下语法:
```java
Class MyApp.MyString [ ClientDataType = clienttype ]  
{ //class members }
```

其中clienttype是下列之一:

- `BIGINT`
- `BINARY`
- `BINARYSTREAM`
- `BOOLEAN`
- `CHARACTERSTREAM`
- `CURRENCY`
- `DATE`
- `DECIMAL`
- `DOUBLE`
- `FDATE`
- `FTIMESTAMP`
- `HANDLE`
- `INTEGER`
- `LIST`
- `LONGVARCHAR`
- `NUMERIC`
- `STATUS`
- `TIME`
- `TIMESTAMP`
- `VARCHAR` (默认)

# 详解

此关键字指定将此类投影到客户端技术时使用的客户端数据类型。每个数据类型类都必须指定一个客户端数据类型。

# 对子类的影响

这个关键字是从主超类继承的。子类可以覆盖关键字的值。

# 默认

默认的客户端数据类型是`VARCHAR`。

 

 

# <center> 第十四章 类关键字 - ClientName

能够重写此类的客户端投影中使用的默认类名。

# 用法

要在将类投影到客户端时覆盖类的默认名称,请使用以下语法:

```java
Class MyApp.MyClass [ ClientName = clientclassname ]  
{ //class members }
```

其中clientclassname是用作客户端名称的不带引号的字符串,而不是类名。

# 详解

该关键字允许在类被投影到客户端时为其定义一个替代名称(例如当使用InterSystems IRIS Java绑定时)

# 对子类的影响

此关键字不是继承的。

# 默认

如果省略此关键字,实际的类名将在客户端上使用。

 

 

# <center> 第十五章 类关键字 - CompileAfter

指定此类应在其他(指定的)类之后编译。

# 用法

要指示类编译器应该在其他类之后编译此类,请使用以下语法:

```java
Class MyApp.MyClass [ CompileAfter = classlist ]  
{ //class members }
```

其中`classlist`是下列之一:

- 类名。例如:

```java
[ CompileAfter = MyApp.Class1 ]
```
- 用逗号分隔的类名列表,用括号括起来。例如:

```java
[ CompileAfter = (MyApp.Class1,MyApp.Class2,MyApp.Class3) ]
```

# 详解

此关键字指定类编译器应该在编译指定的类后编译此类。

通常,当类之间存在编译器无法检测到的依赖关系,以致必须一个接一个地编译时,会使用此关键字。

此关键字仅影响编译顺序,不影响运行时行为。

**注意:`CompileAfter`关键字不能确保在编译这个类之前指定的类是可运行的。**

此外,`CompileAfter`关键字只影响与`System`关键字具有公共值的类。

# 对子类的影响

这个关键字继承自所有超类。如果子类为关键字指定了一个值,该值指定了在子类可以被编译之前必须被编译的附加类。

# 默认

默认情况下,不指定该关键字。

 

 

# <center> 第十六章 类关键字 - DdlAllowed

指定`DDL`语句是否可用于更改或删除类定义。仅适用于持久类。

# 用法

要通过`DDL`修改类,请使用以下语法:

```
Class MyApp.Person Extends %Persistent [ DdlAllowed ]  
{ //class members }
```
否则,省略此关键字或使用以下语法:

```
Class MyApp.Person Extends %Persistent [ Not DdlAllowed ]  
{ //class members }
```

# 详情

此关键字指定是否可以使用`DDL`语句(如删除表、更改表、删除索引等)来更改或删除类定义。

通常,不希望让SQL用户使用`DDL`语句修改类。

# 对子类的影响

此关键字不是继承的。

# 默认

如果省略这个关键字,`DDL`语句就不能用来影响类定义。

# 注意

如果通过执行`DDL CREATE TABLE`语句来创建一个类,那么对于该类,`DdlAllowed`关键字最初将被设置为`true`。

讨论 (0)1
登录或注册以继续