Visual Studio Codeを使ってIRISのクラスを定義してみよう
InterSystems IRISでシンプルに開発するIoTアプリケーション 第4回
クラスの定義
それではクラスの定義を行ってみましょう。Visual Studio CodeのワークスペースにDriveDemo/Dataというフォルダを作成し、「新しいファイル」ボタンでCarLatest.clsを新規に作成してください(次図)。
そして、エディタ画面で次のように入力してください。このクラスは、車のIDをキーとして最新の情報(時刻、緯度・経度、速度、方位、加速度など)を保持するものです。
Class DriveDemo.Data.CarLatest Extends %Persistent
{
Property CarId As %String;
Property Tm As %TimeStamp;
Property RelativeTm As %Integer;
Property Longitude As %Float;
Property Latitude As %Float;
Property Azimuth As %Float;
Property Speed As %Float;
Property EngineRPM As %Float;
Property AccelPos As %Float;
Property BrakeSW As %Boolean;
Property AcumDistance As %Float;
Property AcumFuel As %Float;
Property FuelInjection As %Float;
Property aX As %Float;
Property aY As %Float;
Property aZ As %Float;
Index MainIdx On CarId;
Index TmIdx On Tm;
}
IRISでクラスを定義する際の基本的な事項を、いくつか説明します。
クラス宣言
1行目でClassキーワードで始まるのはクラス宣言です。クラス名は、パッケージ名と名称から構成されます。パッケージ名は複数階層を”.”でつなげることができます。ここでは、DriveDemo.Dataがパッケージ名、CarLatestが名称です。
Extends %Persistentでは、継承するクラスを指定しています。%PersistentはIRISのライブラリに用意されたもので、クラスのインスタンスデータをデータベースに保存する機能を提供します。つまり、DriveDemo.Data.CarLatestクラスは、インスタンスをデータベースに保存できることになります。
プロパティ宣言
定義本体で宣言しているのはPropertyキーワードで始まるプロパティ宣言です。プロパティは、クラスのインスタンスが保持するデータ項目で、As句でそのデータ型を宣言します。ここでは、
- %String:文字列
- %TimeStamp:日付
- %Integer:整数
- %Float:浮動小数
といった単純型のみを使用していますが、他のクラスのインスタンスを参照するプロパティや、コレクション(配列やリスト)プロパティも定義できます。
インデックス宣言
他のRDBMSなどと同様、IRISではクラスのプロパティにインデックスを張ることができます。Indexキーワードで始まり、インデックス名を指定し、On句でインデックスの対象となるプロパティを宣言します。
コンパイル
Visual Studio Codeの「表示」メニューもしくは左下のアイコン(次図)をクリックして、「コマンド パレット」を呼び出し、そこで”ObjectScript: Import and compile current file”を実行します(次図)。
“Compile succeeded”というメッセージが出たらコンパイル成功です。この操作により、IRISにクラスが定義されました。
IRISでは、クラス定義を行うと同時にテーブルも定義され、SQL文による操作も可能になります。これについては後述します。
この記事は参考になりましたか?
- InterSystems IRISでシンプルに開発するIoTアプリケーション連載記事一覧
-
- IRISのインターオペラビリティ機能を使いこなそう(後編)~OpenAPIを利用したRES...
- IRISのインターオペラビリティ機能を使いこなそう(前編)
- Visual Studio Codeを使ってIRISのクラスを定義してみよう
- この記事の著者
-
堀田 稔(インターシステムズジャパン)(ホリタ ミノル)
SEマネージャー。1992年大阪大学基礎工学部情報工学科卒。同年日本ディジタルイクイップメント(株)入社。電気通信など様々な業界向けプロジェクトにシステムエンジニアとして携わる。1996年InterSystems Data Platform製品の日本語版開発プロジェクトに従事し、同製品の販売・サポー...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
