• 検索結果がありません。

Caché クラス定義リファレンス

N/A
N/A
Protected

Academic year: 2021

シェア "Caché クラス定義リファレンス"

Copied!
122
0
0

読み込み中.... (全文を見る)

全文

(1)

Caché クラス定義リファレ

ンス

Version 5.1

2006-03-14

(2)

Caché クラス定義リファレンス Caché Version 5.1 2006-03-14 Copyright © 2006 InterSystems Corporation. All rights reserved.

このドキュメントは、 Sun Microsystems、RenderX Inc.、 アドビ システムズ および ワールドワイド・ウェブ・コンソーシアム (www.w3c.org)のツールと情報を使用して、 Adobe Portable Document Format (PDF)で作成およびフォーマットされました。 主要ドキュメント開発ツールは、InterSystemsが構築したCaché と Javaを使用した特別目的のXML処理アプリケーションで す。

Caché 製品とロゴは InterSystems Corporation の登録商標です。

Ensemble 製品とロゴは InterSystems Corporation の登録商標です。

InterSystems という名前とロゴは InterSystems Corporation の登録商標です

このドキュメントは、インターシステムズ社(住所:One Memorial Drive, Cambridge, MA 02142)あるいはその子会社が所有す る企業秘密および秘密情報を含んでおり、インターシステムズ社の製品を稼動および維持するためにのみ提供される。こ の発行物のいかなる部分も他の目的のために使用してはならない。また、インターシステムズ社の書面による事前の同意 がない限り、本発行物を、いかなる形式、いかなる手段で、その全てまたは一部を、再発行、複製、開示、送付、検索可能 なシステムへの保存、あるいは人またはコンピュータ言語への翻訳はしてはならない。 かかるプログラムと関連ドキュメントについて書かれているインターシステムズ社の標準ライセンス契約に記載されている 範囲を除き、ここに記載された本ドキュメントとソフトウェアプルグラムの複製、使用、廃棄は禁じられている。インターシス テムズ社は、ソフトウェアライセンス契約に記載されている事項以外にかかるソフトウェアプログラムに関する説明と保証を するものではない。さらに、かかるソフトウェアに関する、あるいはかかるソフトウェアの使用から起こるいかなる損失、損害 に対するインターシステムズ社の責任は、ソフトウェアライセンス契約にある事項に制限される。 前述は、そのコンピュータソフトウェアの使用およびそれによって起こるインターシステムズ社の責任の範囲、制限に関する 一般的な概略である。完全な参照情報は、インターシステムズ社の標準ライセンス契約に記され、そのコピーは要望によっ て入手することができる。 インターシステムズ社は、本ドキュメントにある誤りに対する責任を放棄する。また、インターシステムズ社は、独自の裁量 にて事前通知なしに、本ドキュメントに記載された製品および実行に対する代替と変更を行う権利を有する。

Caché および InterSystems Caché、Caché SQL、 Caché ObjectScript および Caché Object は、インターシステムズ社の 商標です。 ここで使われている他の全てのブランドまたは製品名は、各社および各組織の商標または登録商標です。 インターシステムズ社の製品に関するサポートやご質問は、以下にお問い合わせください: InterSystems ワールドワイド カスタマサポート +1 617 621-0700 Tel: +1 617 374-9391 Fax: support@InterSystems.com Email:

(3)

目次

クラス定義リファレンス... 1 クラス・キーワード ... 3 Abstract ... 3 ClassType ... 3 ClientDataType ... 4 ClientName... 5 CompileAfter... 6 DdlAllowed ... 6 Description ... 7 Dynamic ... 7 Final... 8 Hidden ... 8 Import... 9 IncludeCode... 9 IncludeGenerator ... 10 Language ... 10 Modified ... 11 Name (Class) ... 12 OdbcType... 12 Owner ... 13 ProcedureBlock ... 14 PropertyClass ... 14 SoapBindingStyle... 15 SoapBodyUse ... 15 SqlCategory ... 16 SqlRoutinePrefix... 17 SqlRowIdName ... 17 SqlRowIdPrivate ... 18 SqlTableName ... 19 StorageStrategy ... 19 Super ... 20 System ... 21 ViewQuery ... 21 ForeignKey キーワード... 23 Description ... 23

(4)

OnDelete... 24 OnUpdate... 24 Properties... 25 ReferencedClass... 25 ReferencedKey... 26 SqlName ... 26 Index キーワード... 27 Condition... 27 Data... 27 Description ... 28 Extent ... 28 Final ... 29 IdKey ... 29 Name (Index) ... 30 PrimaryKey ... 30 Properties... 31 SqlName ... 31 Type ... 32 Unique ... 32 Method キーワード ... 35 Abstract ... 35 ClassMethod ... 35 CodeMode ... 36 Description ... 37 Final ... 38 FormalSpec ... 38 GenerateAfter... 39 Implementation ... 40 Language... 40 Name (Method)... 41 NotForProperty ... 41 NotInheritable... 42 PlaceAfter... 43 Private ... 43 ProcedureBlock ... 44 PublicList ... 44 ReturnType... 45 ServerOnly... 46 SoapBindingStyle... 46 SoapBodyUse ... 47

(5)

SqlName ... 47 SqlProc... 48 WebMethod... 49 Parameter キーワード... 51 Constraint... 51 Default ... 51 Description ... 52 Final ... 52 Flags... 53 Name (Parameter)... 53 Type ... 54 Property キーワード... 57 Calculated... 57 Cardinality ... 57 Collection ... 58 Description ... 59 Final ... 59 InitialExpression... 60 Inverse ... 60 MultiDimensional... 61 Name (Property)... 61 NotInheritable... 62 Private ... 62 Relationship ... 63 Required... 63 SqlCollation... 64 SqlColumnNumber ... 64 SqlComputeCode ... 65 SqlComputeOnChange ... 65 SqlComputed ... 66 SqlFieldName... 66 SqlListDelimiter ... 67 SqlListType... 67 Transient ... 68 Type ... 68 Query キーワード... 69 Description ... 69 Final ... 69 FormalSpec ... 70

(6)

Name ... 70 NotInheritable... 71 Private ... 71 SqlName ... 72 SqlProc... 72 SqlQuery ... 73 SqlView ... 73 SqlViewName... 74 Type ... 74 Trigger キーワード ... 75 Code... 75 Description ... 75 Event ... 76 Final ... 76 Name (Trigger) ... 77 Order... 77 SqlName ... 78 Time ... 78 Storage キーワード ... 79 DataLocation... 79 DefaultData... 79 Description ... 80 Final ... 80 IdExpression... 81 IdLocation... 81 IndexLocation ... 82 Name (Storage)... 82 SqlChildSub... 83 SqlIdExpression... 83 SqlRowIdName ... 84 SqlRowIdProperty... 84 SqlTableNumber... 85 State... 85 StreamLocation... 86 Type ... 86 StorageData キーワード... 87 Attribute ... 87

Name (Storage Data)... 87

(7)

Subscript ... 88 StorageDataValue キーワード ... 89 Name (StorageDataValue)... 89 Value ... 89 StorageIndex キーワード... 91 Location ... 91 Name (StorageIndex)... 91 StorageSqlmap キーワード... 93 Condition... 93 ConditionFields... 93 ConditionalWithHostVars ... 94 Global ... 94 Name (StorageSqlMap) ... 94 PopulationPct ... 95 PopulationType ... 95 RowReference... 96 Structure ... 96 Type ... 96 StorageSqlmapData キーワード ... 99 Delimiter ... 99 Name (StorageSqlMapData)... 99 Node ... 100 Piece ... 100 RetrievalCode ... 100 StorageSqlmapRowidspec キーワード... 103 Expression... 103 Field... 103 Name (StorageSqlMapRowIdSpec) ... 104 StorageSqlmapSubscript キーワード ... 105 AccessType... 105 DataAccess ... 105 Delimiter... 106 Expression... 106 LoopInitValue ... 106 Name (StorageSqlMapSubscript) ... 107 NextCode... 107 NullMarker ... 108 StartValue ... 108

(8)

StopExpression ... 108 StopValue... 109 StorageSqlmapSubscriptAccessvar キーワード... 111 Code ... 111 Name (StorageSqlMapSubscriptAccessVar)... 111 Variable ... 112 StorageSqlmapSubscriptInvalidcondition キーワード... 113 Expression... 113 Name (StorageSqlMapSubscriptInvalidCondition)... 113

(9)

クラス定義リファレンス

このリファレンスでは、Caché クラス定義で使用されるすべてのキーワードについて説明します。この キーワードは、クラス・メンバで構成されます。

(10)
(11)

クラス・キーワード

Abstract

抽象クラスを指定します。

Class MyApp.MyClass [Abstract] { }

このキーワードの値は、ブーリアン値です。

概要

抽象クラスを指定します。抽象クラスのインスタンスは生成できません。 このキーワードは、データ型クラスで、クラスを属性タイプとして使用できないことを指定します。

既定値

Abstract キーワードの既定値は、偽です。

ClassType

クラスのタイプ (または、振る舞い) を指定します。

Class MyApp.MyClass [ClassType = persistent] { }

このキーワードは、以下の値のいずれかを取ることができます。 • datatype — このクラスは、リテラル値を表すために使用する datatype クラスです。 • persistent — このクラスは、データをデータベースに保存することを表します。 • serial — このクラスは、データが他の永続オブジェクトに (シリアル化された状態で) 保存される ことを表します。 • view — このクラスは、SQL ビューを定義するために使用されます ("ViewQuery" キーワードを 参照してください)。

(12)

このキーワードの値は、空の文字列を取ることもできます。その場合、このクラスには特定のタイプが 指定されません。単純な登録オブジェクトや抽象クラスには、通常、クラス・タイプを指定しません。

概要

このクラスの用途を指定します。クラス・コンパイラは、ClassType キーワードによってクラスのコンパ イル方法の詳細を決定します。例えば、ClassType 値が “persistent” の場合、クラス・コンパイラ は、ストレージ・コンパイラを実行してクラスの永続コードを生成します。 ClassType キーワードの値は、サブクラスに継承されません。

既定値

ClassType キーワードの既定値は、空の文字列です。

ClientDataType

クラス・タイプがデータ型である場合に、このデータ型を ActiveX または Java によって投影するとき に使用するクライアント・データ型を指定します。

Class MyApp.MyString [ ClientDataType = VARCHAR] { }

このキーワードは、以下の値のいずれかを取ることができます。 • BINARY • BINARYSTREAM • BOOLEAN • CHARACTERSTREAM • CURRENCY • DATE • DOUBLE • HANDLE • INTEGER • LIST • LONGVARCHAR • NUMERIC クラス・キーワード

(13)

• STATUS • TIME • TIMESTAMP • VARCHAR

概要

このキーワードは、データ型クラスにのみ適用されます。このキーワードの値は、このクラスが ActiveX または Java 結合により投影されるときに使用するクライアント・データ型を指定します。 データ型クラスでは、クライアント・データ型を指定する必要があります。データ型クラス以外のクラス では、このキーワードは無視されます。

既定値

ClientDataType キーワードの既定値は、VARCHAR です。

ClientName

このクラスのクライアント・プロジェクションに使用するエイリアスです。

Class MyApp.MyClass [ClientName = _MyClass] { }

このキーワードの値は、文字列です。

概要

このキーワードは、(Caché Java バインディングを使用するときなど) クラスをクライアントの言語に投 影するときに、クラスに別の名前を定義するために使用します。

既定値

既定は空の文字列です。これは、クラス名をクライアント名として使用するように指定します。 ClientName

(14)

CompileAfter

クラス・コンパイラが、指定されたクラスの後に、このクラスをコンパイルすることを示します。

Class MyApp.Class2 [CompileAfter = Class1] { }

このキーワードの値は、1 つ以上のクラス名のリストまたは空文字列です。

概要

クラス・コンパイラが、指定されたクラスの後に、このクラスをコンパイルすることを示します。通常、ク ラス間でコンパイラを検出できない依存関係がある場合に使用します。これにより、クラスが 1 つず つコンパイルされます。このキーワードは、コンパイルの順番にのみ影響を与えるものであり、実行 時の振る舞いには影響を与えません。

既定値

CompileAfter キーワードの既定値は、空の文字列です。

DdlAllowed

クラス・タイプが永続クラスである場合に、クラス定義の変更または削除に DDL 文が使用できるかど うかを示します。

Class MyApp.Person Extends %Persistent [ClassType = persistent, DdlAllowed] { }

このキーワードの値は、ブーリアン値です。

概要

クラス・タイプが永続クラスである場合に、クラス定義の変更または削除に DDL 文が使用できるかど うかを示します。通常は、SQL ユーザが DDL 文を使用してクラスを変更できないようにします。この フラグによって、そのような振る舞いを管理できます。このフラグが存在しない場合は、SQL DDL 文 (DROP TABLE、ALTER TABLE、DROP INDEX など) はクラスの SQL テーブル表記では実行で きません。

DDL Create Table 文を実行して生成されたクラスでは、初期値が真に設定された DdlAllowed キー ワードを持ちます。

(15)

既定値

DdlAllowed キーワードの既定値は、偽です。

Description

クラスの説明を指定します。

/// This is a class description. Class MyApp.Person { }

このキーワードの値は、最高 16,000 文字までの複数行のテキストです。

概要

クラスの説明を指定します。この説明は、オンライン・クラス・リファレンスで表示されます。 説明には、HTML フォーマット・タグを記述することもできます。詳細は、"Caché スタジオの使用法" の "説明内での HTML 使用" を参照してください。

既定値

Description キーワードの既定値は、空の文字列です。

Dynamic

Dynamic

このキーワードの値は、ブーリアン値です。

概要

Dynamic

既定値

Dynamic キーワードの既定値は、偽です。 Description

(16)

Final

クラスにサブクラスを作成できないようにします。

Class MyApp.Exam As %Persistent [ ClassType = persistent, Final ] { }

このキーワードの値は、ブーリアン値です。

概要

クラスにサブクラスを作成できないようにします。Final クラスをスーパークラスとして使用する別のク ラスを生成することはできません。また、Final キーワードは、クラス・コンパイラに対して特定のコード 生成を最適化するために利用できます (Final クラスのインスタンスは、多様型として使用できないた め)。

既定値

Final キーワードの既定値は、偽です。

Hidden

クラス・ディクショナリのコンテンツを表示する際に、このクラスが通常は表示されないようにします。

Class MyApp.Person [ Hidden] { }

このキーワードの値は、ブーリアン値です。

概要

クラス・ディクショナリのコンテンツを見る際に、このクラスが表示されないようにします。これは、Caché クラス・ライブラリ内の特定のプライベート・クラスに対して使用します。

既定値

Hidden キーワードの既定値は、偽です。 クラス・キーワード

(17)

Import

このクラスにインポートする、1 つ以上のクラス・パッケージを指定します。 Import MyPackage Class MyApp.MyClass { }

このキーワードの値は、1 つ以上のクラス・パッケージ名のリストです。

概要

Import キーワードは、クラスにインポートするパッケージの名前を指定します。クラスがコンパイルさ れるときに、クラス・コンパイラは、Import キーワードによって指定されたパッケージを使用してクラス・ ネームを決定します。 パッケージについての詳細は、"Caché オブジェクト の使用法" の "パッケージ" の章を参照してく ださい。

既定値

Import キーワードの既定値は、空の文字列です。

IncludeCode

このクラスをコンパイルするときに使用する、Caché インクルード・ファイル (.INC) のオプションのリス トを指定します。 Include MyCode Class MyApp.MyClass { ... }

このキーワードの値は、1 つ以上のインクルード・ファイル名 (.INC) のリストです。

概要

このクラスをコンパイルするときに使用する、Caché インクルード・ファイル (.INC) のオプションのリス トを指定します。ファイルが複数の場合は、コンマで区切り、全体を括弧でくくったリストを使用しま す。たとえば (ファイル1, ファイル2) のようにします。 Import

(18)

既定値

IncludeCode キーワードの既定値は、空の文字列です。

IncludeGenerator

このクラスのメソッド・ジェネレータのメソッドをコンパイルするときに使用する、Caché インクルード・ ファイル (.INC) のオプションのリストを指定します。 IncludeGenerator MyGenerator Class MyApp.MyClass { ... }

このキーワードの値は、1 つ以上のインクルード・ファイル名 (.INC) のリストです。

概要

このクラスのメソッド・ジェネレータのメソッドをコンパイルするときに使用する、Caché インクルード・ ファイル (.INC) のオプションのリストを指定します。ファイルが複数の場合は、コンマで区切り、全体 を括弧でくくったリストを使用します。たとえば (ファイル1, ファイル2) のようにします。

既定値

IncludeGenerator キーワードの既定値は、空の文字列です。

Language

このクラスのメソッドを実装するのに使用する既定の言語です。

Class MyApp.MyClass [Language = Basic] { }

このキーワードは、以下の値のいずれかを取ることができます。 • cache—Caché ObjectScript • basic—Basic • java—Java クラス・キーワード

(19)

概要

このクラスのメソッドを実装するのに使用する既定の言語です。個々のメソッドでは、Languageキー ワードを使用して、この値をオーバーライドできます。

Java メソッドは、Caché Java バインディングを使用する場合にのみ適用されます。Caché で Caché 定義から Java クラスへ投影するときは、すべての Java メソッドが実装されます。これらのメソッドは、 Java 仮想マシン内で直接実行されます。

既定値

Language キーワードの既定値は、 “cache” です。

Modified

非推奨。クラスの属性が前回保存された後にどのように変更されたかを、このクラスのインスタンスで 監視する方法を指定します。

Class MyApp.MyClass [ Modified = 1] { }

このキーワードは、以下の値のいずれかを取ることができます。 • 1

概要

クラスの属性が前回保存された後にどのように変更されたかを、このクラスのインスタンスで監視する 方法を指定します。このキーワードは、新規のアプリケーションでは使用しないでください。

既定値

Modified キーワードの既定値は、0 です。 Modified

(20)

Name (Class)

クラス名です。 Class MyApp.MyClass { }

このキーワードの値は、有効なクラス名です (パッケージ名も含みます)。

概要

パッケージを含むクラスの名前です。クラス定義が保存またはコンパイルされた後に、クラス名を変 更することはできません。

既定値

存在しません。すべてのクラス定義に、クラス名を指定する必要があります。

OdbcType

クラス・タイプがデータ型である場合に、ODBC または JDBC によって表示する際に使用するタイプ を指定します。データ型クラスでは、ODBC タイプを指定する必要があります。

Class MyApp.MyString [ ClassType = DataType, OdbcType = VARCHAR] { }

このキーワードは、以下の値のいずれかを取ることができます。 • BIT • DATE • DOUBLE • INTEGER • LONGVARBINARY • LONGVARCHAR • NUMERIC • SMALLINT • TIME クラス・キーワード

(21)

• TIMESTAMP • TINYINT • VARBINARY • VARCHAR

概要

クラス・タイプがデータ型である場合に、ODBC または JDBC によって表示する際に使用するタイプ を指定します。データ型クラスでは、ODBC タイプを指定する必要があります。

既定値

OdbcType キーワードの既定値は、VARCHAR です。

Owner

クラスの所有者と、それに対応するテーブルを指定します。

Class MyApp.Person Extends %Persistent [ ClassType = persistent, Owner = "Jack"] { }

このキーワードの値は、所有者名です。

概要

クラスの所有者と、それに対応するテーブルを指定します。既定では、クラスとテーブルの所有者は _SYSTEM です。このキーワードは、永続クラスに対してのみ適用され、他のクラス・タイプでは無視 されます。

既定値

Owner キーワードの既定値は、空の文字列です。これは、このクラスが組み込みユーザ、 “_SYSTEM” によって所有されていることを示します。 Owner

(22)

ProcedureBlock

クラスで、メソッド・コードに Caché ObjectScript プロシージャ・ブロックを使用することを指定します。

Class MyApp.MyClass [ProcedureBlock] { }

このキーワードの値は、ブーリアン値です。

概要

各メソッドに対してコードを生成するときに、クラスで Caché ObjectScript プロシージャ・ブロックを使 用することを指定します。これは、メソッドのProcedureBlockキーワードを使用して、個々のメソッド によりオーバーライドできます。このキーワードは、Basic メソッドでは無視されます。 このキーワードは、Caché v5.0 で新規に追加されたものです。Caché v5.0 より前のバージョンで生 成されたクラスに対しては、既存の振る舞いを維持するために、オブジェクト・ディクショナリのアップ グレード機能により明示的に ProcedureBlock キーワードの値を偽に設定します。

既定値

ProcedureBlock キーワードの既定値は、真です。

PropertyClass

PropertyClass

Class %Persistent [PropertyClass = %Property] { }

このキーワードの値は、クラス名です。

概要

これは内部キーワードであり、カスタマ・アプリケーションでは使用しません。PropertyClass キーワー ドは、クラス・コンパイラがプロパティに別のメソッドを提供するために使用する、クラスの名前を指定 します。

既定値

PropertyClass キーワードの既定値は、空の文字列です。 クラス・キーワード

(23)

SoapBindingStyle

SOAP で使用する場合に、このクラスが使用する SOAP バインディングを指定します。

Class MyApp.MyClass [SoapBindingStyle = rpc] { }

このキーワードは、以下の値のいずれかを取ることができます。

• document — このクラスの XML の SOAP 表記は、document スタイルのバインディングを使用し ます。 • rpc — このクラスの XML の SOAP 表記は、rpc スタイルのバインディングを使用します。

概要

このキーワードは、SOAP 経由でデータを送受信するのに使用するクラスにのみ適用されます。これ により、クラスのインスタンスを XML に投影するのに使用するバインディング・スタイルを指定できま す。 SOAP 標準 v1.1 (Chapter 7) では、 “rpc” バインディング・スタイルが指定されています。しか し、.NET を含むほとんどの SOAP クライアントは、 “document” スタイルのバインディングを使用し ます。これは、このキーワードの既定でもあります。

SOAP に関する詳細は、"Caché での SOAP と Web サービスの使用法" を参照してください。

既定値

SoapBindingStyle キーワードの既定値は、 “document” です。

SoapBodyUse

SOAP で使用する場合に、クラスが使用するエンコードを指定します。

Class MyApp.MyClass [SoapBodyUse = encoded] { }

このキーワードは、以下の値のいずれかを取ることができます。

• encoded — このクラスの XML の SOAP 表記は、SOAP でエンコードされたデータを使用しま す。使用しているSoapBindingStyleが “rpc” である場合、必ずこれを使用します。

(24)

• literal — このクラスの XML の SOAP 表記は、リテラルでエンコードされたデータを使用します。

概要

このキーワードは、SOAP 経由でデータを送受信するのに使用するクラスにのみ適用されます。これ により、クラスのインスタンスを XML に投影するのに使用するエンコードを指定できます。

SOAP 標準 v1.1 (Chapter 5) では、SOAP エンコード ( “encoded” ) が指定されています。しか し、.NET を含むほとんどの SOAP クライアントは、 “literal” スタイルのバインディングを使用しま す。これは、このキーワードの既定でもあります。

SOAP に関する詳細は、"Caché での SOAP と Web サービスの使用法" を参照してください。

既定値

SoapBodyUse キーワードの既定値は、 “literal” です。

SqlCategory

クラス・タイプがデータ型である場合に、SQL での計算に使用するタイプを指定します。

Class MyApp.MyString [ClassType = DataType, SQLCategory = STRING] { }

このキーワードは、以下の値のいずれかを取ることができます。 • DATE • DOUBLE • INTEGER • NAME • NUMERIC • STRING • TIME • TIMESTAMP

概要

クラス・タイプがデータ型である場合に、SQL での計算に使用するタイプを指定します。 データ型クラスでは、SQL カテゴリを指定する必要があります。 クラス・キーワード

(25)

新規のデータ型クラスを生成する場合、生成しようとしているデータ型に最適な SQL カテゴリ値を 使用してください。既存のデータ型クラスをサブクラスにして、その SQL カテゴリ値を継承する方法 もあります。

既定値

SqlCategory キーワードの既定値は、STRING です。

SqlRoutinePrefix

非推奨。SqlRoutinePrefix

このキーワードの値は、COS 名です。

概要

非推奨。SqlRoutinePrefix

既定値

SqlRoutinePrefix キーワードの既定値は、空の文字列です。

SqlRowIdName

ID 列の 代替 SQL フィールド名を指定します。

Class MyApp.MyClass [SqlRowIdName = MyId] { }

このキーワードの値は、SQL 識別子です。

概要

クラス・タイプが永続クラスである場合に、ID 列の代替 SQL フィールド名を指定します。 永続クラスを SQL テーブルに投影するとき、各オブジェクトのオブジェクト識別値は SQL 列、つま り行 ID 列として投影されます。既定の行 ID 列はID と呼ばれます。クラスに、他に ID という名前の フィールドがある場合は、ID1 などの名前を使用します。SqlRowIdName キーワードにより、行 ID 列 の名前を直接設定できます。 SqlRoutinePrefix

(26)

非永続クラスでは、このキーワードは無視されます。

既定値

SqlRowIdName キーワードの既定値は、空の文字列です。この場合、既定の ID 名であるID を使用 します。

SqlRowIdPrivate

ID 列を非表示フィールドとして ODBC/JDBC に投影するかどうかを指定します。

Class MyApp.MyClass [SqlRowIdPrivate] { }

このキーワードの値は、ブーリアン値です。

概要

クラス・タイプが永続クラスである場合に、ID 列を非表示フィールドとして ODBC または JDBC に投 影するかどうかを指定します。 永続クラスを SQL テーブルに投影するとき、各オブジェクトのオブジェクト識別値は SQL 列、つま り行 ID 列として投影されます。SqlRowIdPrivate キーワードにより、行 ID 列を ODBC ベースまたは JDBC ベースのクエリで “隠す” ようにするかどうかを指定できます。ID 列が非表示の場合、様々 なカタログ・クエリで列としてレポートされず、SELECT * クエリにも含まれません。クエリの SELECT 節でこのキーワードが明示的に記述されていれば、ODBC または JDBC クライアントは、この列を SELECT することができます (定義により、行 ID の値は、変更したり直接設定したりできません。し たがって、UPDATE や INSERT 文で行 ID 列を使用することはできません)。 通常、このキーワードは、従来のリレーショナル・データを使用し、レポート・ツールによって行 ID 列 を表示しないようにするために使用します。 非永続クラスでは、このキーワードは無視されます。

既定値

SqlRowIdPrivate キーワードの既定値は、偽です。 クラス・キーワード

(27)

SqlTableName

SQL プロジェクションでクラスを識別するために使用されるテーブル名を指定します。

Class MyApp.Person Extends %Persistent [ClassType = persistent, SqlTableName = DBTable] { }

このキーワードの値は、有効な SQL 識別子です。

概要

クラス・タイプが永続クラスである場合に、テーブル名を指定し、これを使用して SQL プロジェクショ ンでのクラスを識別します。既定では、SQL テーブル名はクラス名と同じです。 通常、使用しているクラス名が SQL の予約語である場合 (珍しいことではありません) や SQL テー ブルにクラス名としてサポートされていない文字を使用する場合 ( “_” など) に、このキーワードを 使用します。 非永続クラスでは、このキーワードは無視されます。

既定値

SqlTableName キーワードの既定値は、空の文字列です。これは、クラス名が SQL テーブル名とし て使用されることを示します。

StorageStrategy

このクラスの永続性を管理するために使用するストレージ定義の名前です。

Class MyApp.MyClass Extends %Persistent [ ClassType = persistent, StorageStrategy = MyStorage ] { }

このキーワードの値は、このクラス内のストレージ定義の名前です。

概要

このキーワードは、永続クラス (または、シリアル・クラスのシリアル・ステータス) が使用するストレージ 構造を定義するためのストレージ定義を指定します。 SqlTableName

(28)

各永続クラスは 1 つ以上のストレージ定義を持ち、これが永続オブジェクトを保存するストレージ構 造 (例えば、グローバルとサブノードのセットなど) を定義します。 通常は、このキーワードやストレージ構造について注意を払う必要はありません。クラス・コンパイラ は自動的に “Default” という名前のストレージ構造を定義し、(必要に応じて新規のフィールドを追 加して) これを維持します。1 つのクラスに対し、複数のストレージ定義を生成できます。この場合、 このキーワードはクラス・コンパイラがどのストレージ定義を使用するべきかを指定します。 このキーワードは、永続クラスとシリアル・クラスで使用しますが、他のクラス・タイプでは無視されま す。

既定値

StorageStrategy キーワードの既定値は、空の文字列です。これは、永続性を提供するために “Default” という名前の既定のストレージ定義を使用することを示します。

Super

クラスに対して 1 つ以上のスーパークラスを指定します。

Class MyApp.Person Extends (%Persistent,%Populate) [ ClassType = persistent] { }

このキーワードの値は、1 つ以上のクラス名のリストです。

概要

クラスに対して 1 つ以上のスーパークラスを指定します。最初のクラスは、プライマリ・スーパークラ スとみなされます。後から追加したクラスは、セカンダリ・スーパークラスです。 スタジオでは、クラス定義文の Extends 節を使用して Super キーワードを定義します。

既定値

Super キーワードの既定値は、空の文字列です。 クラス・キーワード

(29)

System

クラスが Caché の実装に内在することを指定します。カスタム・アプリケーションで使用するためのも のではありません。

Class %Internal [System = 1] { }

このキーワードは、以下の値のいずれかを取ることができます。 • 0— 通常の、非システム・クラス • 1 • 2

概要

クラスが Caché の実装に内在することを指定します。ご使用のクラスにこのキーワードを付けないで ください。

既定値

System キーワードの既定値は、0 です。

ViewQuery

ビュー定義クラスに対する SQL クエリです。

ViewQuery = { SELECT Name FROM Sample.Person}

このキーワードの値は、SQL 文です。

概要

(SQL マネージャ の DDL Create View 文を使用して) SQL ビューを定義する際、クラス・ディクショ ナリはビュー定義を保持するために、自動的にクラス定義を生成します。このクラス定義は、クラス・ タイプ “view” を持ち、SQL 文を保存します。ビューは、この ViewQuery キーワードに基づきます。 この機能は、内部的なものであり、ユーザはビュー・クラスを生成したり、ViewQuery キーワードを変 更したりすることはできません。その代わり、ビューの管理には通常の機能 (DDL または SQL マネー ジャ) を使用してください。 System

(30)

非ビュー・クラスでは、このキーワードは無視されます。

既定値

ViewQuery キーワードの既定値は、空の文字列です。

(31)

ForeignKey キーワード

Description

Description /// This is a description

このキーワードの値は、最高 32000 文字までの複数行のテキストです。

概要

SQL 外部キーの説明を指定します。この説明は、オンライン・クラス・リファレンスで表示されます。

既定値

Description キーワードの既定値は、空の文字列です。

Name (Foreign Key)

Name

ForeignKey FKey1 ( StateName ) References StateTable ( StateKey );

このキーワードの値は、名前です。

概要

SQL 外部キーの名前です。この名前は、有効なクラス・メンバ名で、かつ他のクラス・メンバ名と重複 しないものである必要があります。

既定値

必須項目であるため、Name キーワードに既定値はありません。

(32)

OnDelete

OnDelete 参照アクションを指定します。

ForeignKey EmpKey(EmpId) References MyApp.Employee(EmpID) [ OnDelete = cascade];

このキーワードは、以下の値のいずれかを取ることができます。 • cascade • noaction • setdefault • setnull このキーワードの値は、空の文字列を取ることもできます。

概要

このキーワードは、外部テーブルでキーの値が削除されたときに発生する、参照アクションを指定し ます。

既定値

OnDelete キーワードの既定値は、空の文字列です。

OnUpdate

OnUpdate 参照アクションを指定します。

ForeignKey EmpKey(EmpId) References MyApp.Employee(EmpID) [ OnUpdate = cascade];

このキーワードは、以下の値のいずれかを取ることができます。 • cascade • noaction • setdefault • setnull ForeignKey キーワード

(33)

このキーワードの値は、空の文字列を取ることもできます。

概要

このキーワードは、外部テーブルでキーの値が更新されたときに発生する、参照アクションを指定し ます。

既定値

OnUpdate キーワードの既定値は、空の文字列です。

Properties

外部キーにより制約されるプロパティを指定します。

ForeignKey EmpKey(Property1,Property2) References MyApp.Employee(EmpID);

このキーワードの値は、(外部キーを定義するクラス内の) プロパティ名です。

概要

このキーワードは、その値が外部キーにより制約される (外部テーブル内の値と一致する必要があ る) 現在のクラス内の 1 つ以上のプロパティを指定します。

既定値

このキーワードは必須です。

ReferencedClass

外部キーによって参照されるクラスを指定します。

ForeignKey EmpKey(Property1,Property2) References ReferencedClass(EmpID);

このキーワードの値は、クラス名です。

概要

このキーワードは、この外部キーによって参照されるキーを含むクラスの名前を指定します。 Properties

(34)

既定値

このキーワードは必須です。

ReferencedKey

外部キーによって参照されるキーを指定します。

ForeignKey EmpKey(Property1,Property2) References MyApp.Employee(ReferencedKey);

参照されるクラス内のキー (一意のインデックス) の名前です。

概要

このキーワードは、クラス内のキー (一意のインデックス名) を指定し、外部キーに一連の値を許可 します。

既定値

このキーワードは必須です。

SqlName

外部キーの SQL エイリアスを指定します。

ForeignKey EmpKey(EmpId) References a(b) [ SqlName = _MyKey ];

このキーワードの値は、SQL 識別子です。

概要

このキーワードにより、外部キーを SQL で参照する際の別名を定義できます。

既定値

SqlName キーワードの既定値は、空の文字列です。 ForeignKey キーワード

(35)

Index キーワード

Condition

条件付インデックスで、インデックスに含めるエントリの条件を指定します。

このキーワードの値は、式です。

概要

条件付インデックスで、インデックスに含めるエントリの条件を指定します。 このキーワードは、既存のアプリケーションを Caché SQL に移行するためのものであり、新規のアプ リケーションでは使用しません。

既定値

Condition キーワードの既定値は、空の文字列です。

Data

プロパティのリストを指定します。そのプロパティの値は、このインデックスに保存されます。

Index NameIDX On Name [Data = Name];

Index ZipIDX On ZipCode [Data = (City,State)];

このキーワードの値は、プロパティ名、またはプロパティ名のリストです。

概要

プロパティのリストを指定します。そのプロパティの値は、このインデックスに保存されます。 このキーワードはビットマップ・インデックスと一緒に使用することはできません。 詳細は、"インデックス" を参照してください。

(36)

既定値

Data キーワードの既定値は、空の文字列です。

Description

インデックスの説明を指定します。 /// This is a description

このキーワードの値は、最高 32000 文字までの複数行のテキストです。

概要

インデックスの説明を指定します。この説明は、オンライン・クラス・リファレンスで表示されます。

既定値

Description キーワードの既定値は、空の文字列です。

Extent

エクステントのインデックスを定義します。

Index State [Extent];

このキーワードの値は、ブーリアン値です。

概要

エクステント・インデックスは、どのオブジェクト・インスタンスがサブクラスに属するのかを追跡するた めに使用します。ビットマップ・インデックスを使用する場合は、エクステント・インデックスは自動的に 維持されるので、定義する必要はありません。

既定値

Extent キーワードの既定値は、偽です。 Index キーワード

(37)

Final

このメソッドが final であることを示します。

Index ThisIndex on SomeData [ Final ] { }

このキーワードの値は、ブーリアン値です。

概要

サブクラスによって、インデックスの実装がオーバーライドされないように指定します。

既定値

Final キーワードの既定値は、偽です。

IdKey

オブジェクト ID として使用するインデックスを指定します。

Index PartNum On PartNum [IdKey];

このキーワードの値は、ブーリアン値です。

概要

IdKey このキーワードは、このインデックスに対して定義されたプロパティを、このオブジェクトのオブジェク ト識別値の作成に使用することを指定します。 オブジェクト識別値は、永続オブジェクト・インスタンスを一意に特定するために使用します。IdKey を使用するオブジェクトが一旦保存された後は、IdKey を作成したプロパティの値は変更できませ ん。 IdKey インデックスは、一意のインデックスと同様の振る舞いをします。

既定値

IdKey キーワードの既定値は、偽です。 Final

(38)

Name (Index)

インデックス名です。

Index SalaryIndex On Salary;

このキーワードの値は、名前です。

概要

インデックス名です。この名前は、有効なクラス・メンバ名で、かつ他のクラス・メンバ名と重複しない ものである必要があります。

既定値

必須項目であるため、Name キーワードに既定値はありません。

PrimaryKey

主キーを指定します。

Index EmpIDX On EmployeeID [PrimaryKey];

このキーワードの値は、ブーリアン値です。

概要

このキーワードは、このインデックスが SQL 経由で、このクラス (テーブル) の 主キー としてレポー トされることを指定します。 PrimaryKey インデックスは、一意のインデックスと同様の振る舞いをします。

既定値

PrimaryKey キーワードの既定値は、偽です。 Index キーワード

(39)

Properties

このインデックスの構築に使用するプロパティのリストを指定します。各プロパティに対する照合仕様 を含めることもできます。

Index Idx1 On Name;

Index Idx2 On (City,State);

このキーワードの値は、プロパティ名、またはプロパティ名のリストです。

概要

このインデックスの構築に使用するプロパティのリストを指定します。各プロパティに対する照合仕様 を含めることもできます。 詳細は、"インデックス" を参照してください。

既定値

このキーワードは必須です。

SqlName

インデックスの SQL エイリアスを指定します。

Index Name On Name [SqlName = _Name];

このキーワードの値は、SQL 識別子です。

概要

このキーワードにより、SQL で参照する際の、このインデックスの別名を定義できます。

既定値

SqlName キーワードの既定値は、空の文字列です。これは、このインデックスに対する SQL 名をイ ンデックス名に指定します。 Properties

(40)

Type

インデックスのタイプを指定します。

Index State On State [Type = bitmap];

このキーワードは、以下の値のいずれかを取ることができます。 • bitmap — ビットマップ・インデックス • index — 標準インデックス • key — 非推奨 このキーワードの値は、空の文字列を取ることもできます。

概要

インデックスのタイプ、つまりインデックスをビットマップ・インデックスとして実装するか、または標準 の (通常の、ビットマップでない) インデックスとして実装するかを指定します。 ビットマップ・インデックスは、uniqueにすることは出来ません。 詳細は、"インデックス" を参照してください。

既定値

Type キーワードの既定値は、 “Index” です。

Unique

一意のインデックスを指定します。 Index SSN On SSN [Unique];

このキーワードの値は、ブーリアン値です。

概要

この Unique キーワードがある場合、このインデックスが一意であることを示します。 Index キーワード

(41)

一意のインデックスによりインデックス付けされたプロパティは、そのインデックスを定義するクラス (テーブル) のエクステント (すべてのオブジェクトのセット) 内で、一意の値を持つように制約されま す (同じ照合値を持つインスタンスは存在しません)。 一意のインデックスをビットマップ・インデックスにすることはできません。

既定値

Unique キーワードの既定値は、偽です。 Unique

(42)
(43)

Method キーワード

Abstract

抽象メソッドであることを示します。

Method MyMethod() [ Abstract ] { }

このキーワードの値は、ブーリアン値です。

概要

抽象メソッドであることを示します。抽象メソッドは、実装を持たないため、これに対して生成される実 行可能なコードもありません。抽象メソッドは、メソッド・シグニチャ (または、インタフェース) を定義す るためにのみ存在します。これは、1 つ以上のサブクラス内でオーバーライドし、実装できます。Caché クラス・ライブラリ内で定義された (実装はされていません) さまざまなコールバック・メソッドは、抽象 メソッドの一例です。

既定値

Abstract キーワードの既定値は、偽です。

ClassMethod

メソッドがクラス・メソッドであることを指定します。 ClassMethod MyMethod() { }

このキーワードの値は、ブーリアン値です。

概要

メソッドがクラス・メソッドであることを指定します。

(44)

メソッドはすべて、インスタンス・メソッドまたはクラス・メソッドのいずれかとして定義できます。インス タンス・メソッドは、インスタンス化されたオブジェクトによってのみ実行できるのに対し、クラス・メソッ ドはオブジェクト・インスタンスを介さず、直接実行できます。

既定値

ClassMethod キーワードの既定値は、偽です。これは、このメソッドがインスタンス・メソッドであること を示します。

CodeMode

メソッドの実装方法を指定します。 /// An expression method

Method Double(val As %Integer) As %Integer [CodeMode = expression] {

val * 2 }

/// A Method generator

Method GetClassName() As %String [CodeMode = objectgenerator] {

Do %code.WriteLine(" Quit """ _ %class.Name _ """") Quit $$$OK }

このキーワードは、以下の値のいずれかを取ることができます。 • call — このメソッドは、ルーチン呼び出しのエイリアスです (従来のコードを囲むために使用しま す)。 • code — このメソッドは、コード行として実装されます (既定)。 • expression — このメソッドは、式として実装されます。 • objectgenerator — このメソッドは、メソッド・ジェネレータです。 注釈: このキーワードには、 “generator” という値があります。 これは、以前に使用されていた キーワードで、従来の非オブジェクト・ベースのメソッド・ジェネレータを使う必要があること を示しています。この値は、従来のバージョンとの互換性を保つ目的にのみ残されていま す。新しいアプリケーションでは “objectgenerator” を使用する必要があります。

概要

このキーワードは、任意のメソッドの実装方法を指定します。 Method キーワード

(45)

通常、メソッドは 1 行以上の行のコードを使用して実装します。これは、 “code” の既定の CodeMode 値で指定します。この場合、Implementationキーワードに 1 行以上のコードを指定します。 一部の単純なメソッドは、expression メソッドとして実装できます。クラス・コンパイラは、このメソッドに 対する呼び出しを、式を含むインライン・コードと置換することもあります。この場合、Implementation

キーワードには (no Quit または Return 文とあわせて) 単純な式を指定します。

Call メソッドにより、既存のルーチンのラッパであるメソッドを生成できます。この場合、Implementation キーワードにはルーチン名とタグ名を指定します。 メソッド・ジェネレータは、クラスのコンパイル時にクラス・コンパイラによって実行されるプログラムで す。これは、任意のメソッドに対する実際の実装を生成します。この場合、Implementationキーワー ドにメソッド・ジェネレータ用のコードを指定します。メソッド・ジェネレータについての詳細は、"Caché オブジェクトの使用法" の "メソッド・ジェネレータ" のセクションを参照してください。

既定値

CodeMode キーワードの既定値は、 “code” です。

Description

メソッドの説明を指定します。 /// This is a description Method MyMethod() { }

このキーワードの値は、最高 16,000 文字までの複数行のテキストです。

概要

メソッドの説明を指定します。この説明は、オンライン・クラス・リファレンスで表示されます。 説明には、HTML フォーマット・タグを記述することもできます。詳細は、"Caché スタジオの使用法" の "説明内での HTML 使用" を参照してください。

既定値

Description キーワードの既定値は、空の文字列です。 Description

(46)

Final

このメソッドが final であることを示します。

Method MyMethod() [ Final ] { }

このキーワードの値は、ブーリアン値です。

概要

サブクラスによって、メソッドの実装がオーバーライドされないように指定します。

既定値

Final キーワードの既定値は、偽です。

FormalSpec

メソッドが呼び出されたときに、メソッドに渡す引数のリストを指定します。

Method MethodA(Arg1 As %Integer, Arg2 As %String) {

}

Method MethodB(ByRef Arg1 As %Integer) {

}

Method MethodC(Arg1 As %Integer = 10) { }

このキーワードの値は、メソッド引数のリストです。

概要

このキーワードには、メソッドについての形式仕様があります。その形式仕様は、メソッドの引数とそ のタイプ、呼び出しタイプ (ByRef または ByVal)、オプションの既定値のリストです。スタジオでは、 形式仕様はメソッド名の後の括弧 () 内に表示されます。 形式仕様のクラス名には、オプションのパラメータ値を指定できます。メソッドを SQL ストアド・プロ シージャ として使用する場合、これらのパラメータ値を ODBC または JDBC クライアントに対して、 Method キーワード

(47)

追加情報を提供するために使用します。その他の場合は、これらのパラメータはすべて無視されま す。例えば、以下のようになります。

ClassMethod MyProc(data As %String(MAXLEN = 85)) As %Integer [SQLProc] { Quit 22 }

既定値

FormalSpec キーワードの既定値は、空の文字列です。

GenerateAfter

メソッド・ジェネレータのメソッドで、リストされたメソッドが生成された後にジェネレータを実行すること を指定します。

Method MethodB() [ CodeMode = ObjectGenerator, GenerateAfter = MethodA ]

{ }

Method Method3() [ CodeMode = ObjectGenerator, GenerateAfter = (Method1, Method2) ] { }

このキーワードの値は、1 つ以上のメソッド名のリストです。

概要

メソッド・ジェネレータのメソッドで、リストされたメソッドが生成された後にジェネレータを実行すること を指定します。このキーワードは、使用するメソッド・ジェネレータの実行順序を管理する必要がある 場合に使用します。

既定値

GenerateAfter キーワードの既定値は、空の文字列です。 GenerateAfter

(48)

Implementation

メソッドの呼び出しで実行するコードです。式メソッドでは、これは式となります。呼び出しメソッドで は、呼び出しのための Caché ルーチン名となります。

Method MyMethod() As %Integer {

// this is the implementation Quit 42 }

このキーワードの値は、1 行以上の行のコードです。

概要

メソッドの呼び出しで実行するコードです。式メソッドでは、これは式となります。呼び出しメソッドで は、呼び出しのための Caché ルーチン名となります。 使用するプログラミング言語は、クラス・レベルのLanguageまたはメソッド・レベルのLanguageキー ワードにより指定します。

既定値

Implementation キーワードの既定値は、空の文字列です。

Language

このメソッドの実装に使用する言語を指定します。

Method MyMethod() As %Integer [Language = basic] { Return 12 }

このキーワードは、以下の値のいずれかを取ることができます。 • cache—Caché ObjectScript • basic—Basic • java—Java Method キーワード

(49)

このキーワードの値は、空の文字列を取ることもできます。この場合、クラス・レベルのLanguageキー ワードで指定された言語が使用されます。

概要

このメソッドの実装に使用する言語を指定します。

Java メソッドは、Caché Java バインディングを使用する場合にのみ適用されます。Caché で Caché 定義から Java クラスへ投影するときは、任意の Java メソッドが含まれます。これらのメソッドは、Java 仮想マシン内で直接実行されます。

既定値

Language キーワードの既定値は、空の文字列です。

Name (Method)

メソッド名です。 Method Print() { }

このキーワードの値は、名前です。

概要

メソッド名です。この名前は、有効なクラス・メンバ名で、かつ他のクラス・メンバ名と重複しないもので ある必要があります。

既定値

必須項目であるため、Name キーワードに既定値はありません。

NotForProperty

プロパティ・メソッドの生成に、データ型クラスのメソッドを使用しないことを指定します。

ClassMethod MyMethod() [NotForProperty]

このキーワードの値は、ブーリアン値です。

(50)

概要

データ型が他のクラス内で使用されている場合、プロパティ・メソッドの生成に、データ型クラスのメ ソッドを使用しないことを指定します。 非データ型クラスでは、このキーワードは無視されます。

既定値

NotForProperty キーワードの既定値は、偽です。

NotInheritable

NotInheritable TODO

このキーワードの値は、ブーリアン値です。

概要

NotInheritable

既定値

NotInheritable キーワードの既定値は、偽です。 Method キーワード

(51)

PlaceAfter

クラス・コンパイラが、クラスを生成するルーチン内で、リストされたメソッドの後にこのメソッドを置くよ うに指定します。

Method MethodB() [ PlaceAfter = MethodA ] {

}

Method Method3() [ PlaceAfter = (Method1, Method2) ] { }

このキーワードの値は、1 つ以上のメソッド名のリストです。

概要

クラス・コンパイラが、クラスを生成するルーチン内で、リストされたメソッドの後にこのメソッドを置くよ うに指定します。このキーワードは、クラス・コンパイラが、メソッドに対するコードを生成する順番を管 理する必要がある場合に使用します (一般的なケースではありません)。

既定値

PlaceAfter キーワードの既定値は、空の文字列です。

Private

メソッドがプライベートであることを指定します。プライベート・メソッドは、このクラス (またはサブクラ ス) のインスタンス・メソッドによってのみ実行できます。

Method MyMethod() [Private] { }

このキーワードの値は、ブーリアン値です。

概要

メソッドがプライベートであることを指定します。プライベート・メソッドは、このクラス (またはサブクラ ス) のインスタンス・メソッドによってのみ実行できます。 PlaceAfter

(52)

既定値

Private キーワードの既定値は、偽です。

ProcedureBlock

Caché ObjectScript メソッドが、プロシージャ・ブロックを使用することを指定します。

Method MyMethod() [ ProcedureBlock ] { }

このキーワードの値は、ブーリアン値です。

概要

Caché ObjectScript メソッドが、プロシージャ・ブロックを使用することを指定します。 Caché ObjectScript メソッド内では、プロシージャ・ブロックとして実装することも、しないこともできま す。プロシージャ・ブロックは、変数のスコープを強制します。メソッドからは、呼び出し元で定義され ている変数は見えません。新しいアプリケーションは、プロシージャ・ブロックを使用しますが、従来 のアプリケーションとの互換性を保つために、非プロシージャ・ブロックも存在します。

既定値

ProcedureBlock キーワードの既定値は、空の文字列です。この場合、クラス・レベルのProcedureBlock キーワードの値を使用します。

PublicList

Caché ObjectScript メソッドのパブリック・リストを指定します。

Method MyMethod() [ PublicList = (a,b,c) ] { }

このキーワードの値は、1 つ以上の変数名のリストです。

概要

Caché ObjectScript メソッドのパブリック・リストを指定します。 Method キーワード

(53)

このキーワードは、ProcedureBlockキーワードが真に設定されている場合にのみ使用できます。 Caché ObjectScript では、パブリック・リストはパブリック変数のスコープを持つ一連の変数を指定し ます。パブリック変数は、パブリック・リストを定義しているメソッドから呼び出されたすべてのメソッドか ら見えます。

既定値

PublicList キーワードの既定値は、空の文字列です。

ReturnType

メソッドの呼び出しで返される値のデータ型を指定します。 /// Returns an Integer

Method MethodA() As %Integer { } /// Returns no value Method MethodB() { }

このキーワードの値は、クラス名、または空文字列です。

概要

メソッドの呼び出しで返される値のデータ型を指定します。ReturnType を空文字列に設定すると、 値は返されません。 ReturnType で使用するクラス名には、オプションのパラメータ値を指定できます。メソッドを SQL ス トアド・プロシージャ として使用する場合、これらのパラメータ値を ODBC または JDBC クライアント に対して、追加情報を提供するために使用します。その他の場合は、これらのパラメータはすべて 無視されます。例えば、以下のようになります。

ClassMethod GetName() As %String(MAXLEN=222) [SQLProc] { Quit "Mo" }

既定値

ReturnType キーワードの既定値は、空の文字列です。 ReturnType

(54)

ServerOnly

メソッドを Java または C++ クライアントに投影しないことを指定します。

Method MyMethod() [ ServerOnly ] { }

このキーワードの値は、ブーリアン値です。

概要

メソッドを Java または C++ クライアントに投影しないことを指定します。

既定値

ServerOnly キーワードの既定値は、空の文字列です。

SoapBindingStyle

Web メソッドが使用する SOAP 呼び出し機能を指定します。

Method MyMethod() [ SoapBindingStyle = rpc ] { }

このキーワードは、以下の値のいずれかを取ることができます。 • document — この Web メソッドは、ドキュメント・スタイルの呼び出しを使用します。 • rpc — この Web メソッドは、rpc スタイルの呼び出しを使用します。

概要

このキーワードは、Web メソッドが使用する SOAP 呼び出しのタイプを管理します ("WebMethod" 参照)。 非 Web メソッドに対しては、このキーワードは無視されます。

既定値

SoapBindingStyle キーワードの既定値は、空の文字列です。これは、ドキュメント・スタイルの呼び出 しを示します。 Method キーワード

(55)

SoapBodyUse

Web メソッドの入力と出力に使用する SOAP エンコードを指定します。

Method MyMethod() As %Integer [ WebMethod, SoapBodyUse = encoded ] {

}

このキーワードは、以下の値のいずれかを取ることができます。 • encoded — この Web メソッドは、SOAP エンコードを使用します。 • literal — この Web メソッドは、リテラル・エンコードを使用します。

概要

このキーワードは、Web メソッドの入力と出力に、使用する SOAP エンコードを管理します ("WebMethod" 参照)。 非 Web メソッドに対しては、このキーワードは無視されます。

既定値

SoapBodyUse キーワードの既定値は、空の文字列です。これは、リテラル・スタイルのエンコードを 示します。

SqlName

このメソッドを SQL ストアド・プロシージャとして投影するときに、この名前をストアド・プロシージャの 名前に使用します。

ClassMethod MyMethod() As %Integer [ SqlProc, SqlName = My_Method]

このキーワードの値は、SQL 識別子です。

概要

このメソッドを SQL ストアド・プロシージャとして投影するときに、この名前をストアド・プロシージャの 名前に使用します。 SoapBodyUse

(56)

既定値

Caché は、SqlName キーワードに以下のように既定値を割り当てます。

CLASSNAME_METHODNAME

名前は大文字です。

つまり、以下の例では、SqlName の既定値は TEST1_PROC1 となります。この既定値は SELECT 文で指定します。

Class User.Test1 Extends %Persistent [ClassType=persistent, ProcedureBlock] {

ClassMethod Proc1(BO,SUM) As %INTEGER [SqlProc]

Query Q1(KD As %String,P1 As %String,P2 As %String) As %SqlQuery {

SELECT SUM(SQLUser.TEST1_PROC1(1,2)) AS Sumd FROM SQLUser.Test1 } }

SqlProc

メソッドを SQL ストアド・プロシージャとして呼び出すことができることを示します。SQL ストアド・プロ シージャとして呼び出せるのはクラス・メソッドのみです。

ClassMethod MyMethod() As %Integer [SqlProc] { }

このキーワードの値は、ブーリアン値です。

概要

メソッドを SQL ストアド・プロシージャとして呼び出すことができることを示します。SQL ストアド・プロ シージャとして呼び出せるのはクラス・メソッドのみです。

既定値

SqlProc キーワードの既定値は、偽です。 Method キーワード

(57)

WebMethod

Web メソッドであることを示します。

ClassMethod Square(val As %Integer) As %Integer [ WebMethod ] {

Quit val * val }

このキーワードの値は、ブーリアン値です。

概要

WebMethod キーワードは、SOAP プロトコルを使用して、メソッドを Web メソッドとして呼び出すこと ができることを示します。WebMethod キーワードを使用するには、以下が真である必要があります。 1. メソッドがクラス・メソッドであること。

2. メソッドが、%SOAP.WebService クラスから派生したクラスに所属していること。 3. 非リテラル入力 (例えばオブジェクト) パラメータ、または出力パラメータが、XML 対応

(%XML.Adaptor クラスから派生した) のクラスを使用していること。

Web メソッドに関する詳細は、"Caché での SOAP と Web サービスの使用法" を参照してください。

既定値

WebMethod キーワードの既定値は、偽です。

(58)
(59)

Parameter キーワード

Constraint

パラメータのユーザ・インタフェースの制約を指定します。

Parameter MYPARM As STRING [ Constraint = "constraint" ];

このキーワードの値は、文字列です。

概要

Caché スタジオでは、パラメータの入力検証にこの制約の値が使用されます。その値は、クラス・コン パイラによって使用も強制もされません。

このキーワードは、Flagsキーワードと連動します。例えば、Flags が ENUM に設定されている場合、 Constraint は使用可能なパラメータ値のコンマで区切られたリストです。

既定値

Constraint キーワードの既定値は、空の文字列です。

Default

パラメータの既定値を指定します。

Parameter MYPARM = default;

このキーワードの値は、文字列です。

概要

パラメータの値を指定します。オーバーライドされない限り、この値はサブクラスに継承されます。

既定値

Default キーワードの既定値は、空の文字列です。

(60)

Description

パラメータの説明を指定します。 /// This is a description

このキーワードの値は、最高 32000 文字までの複数行のテキストです。

概要

クラス・パラメータの説明を指定します。この説明は、オンライン・クラス・リファレンスで表示されます。

既定値

Description キーワードの既定値は、空の文字列です。

Final

サブクラスによって、パラメータの定義がオーバーライドされないように指定します。

Parameter MYPARM [Final ] = 10;

このキーワードの値は、ブーリアン値です。

概要

サブクラスによって、パラメータの定義がオーバーライドされないように指定します。

既定値

Final キーワードの既定値は、偽です。 Parameter キーワード

参照

関連したドキュメント

l 「指定したスキャン速度以下でデータを要求」 : このモード では、 最大スキャン速度として設定されている値を指 定します。 有効な範囲は 10 から 99999990

• また, C が二次錐や半正定値行列錐のときは,それぞれ二次錐 相補性問題 (Second-Order Cone Complementarity Problem) ,半正定値 相補性問題 (Semi-definite

Program’s name number 1 02:30 203°F 300G. 300G

スライド5頁では

4.1 Symmetrization along radial geodesics and a qualitative generalization of Bishop’s volume comparison theorem.. We begin justifying the name starlike domain with scalar

品名(Part name) 数量(Quantity).. 品名(Part name) 数量(Quantity).. 品名(Part name) 数量(Quantity).. 部品番号 (Part No.) 品名(Part name)

直流電圧に重畳した交流電圧では、交流電圧のみの実効値を測定する ACV-Ach ファンクショ

Multiple micro-rate applications of Intensity One Post-Emergence Grass Herbicide in tank mixtures with reduced rates of desmedipham + phenmedipham or desmedipham and methylated