MODeL言語におけるクラス定義(define class) の定義内容を表わします。
[MODeL言語のクラス定義]
define [instantiable | cached | abstract | dynamic]
[category-name] [, ...] class class-name
{with parent | parent is} parent-name
表の各項目の意味は以下の通りです。
クラスの名称を表わします。 カッコ内はプロンプトです。 [MODeL言語のクラス定義]のclass-nameに相当します。
抽象クラスであるかどうかを表わします。 "o"は抽象クラスであることを表わします。 "-"は抽象クラスでないことを表わします。 [MODeL言語のクラス定義]のabstractに相当します。
キャッシュクラスであるかどうかを表わします。 キャッシュクラスのオブジェクトを更新した場合、 rulefileを更新する必要があります。 ユーザ、条件、メッセージアクセスルール などの頻繁にアクセスされるクラスはキャッシュクラスとして 定義されています。 "o"はキャッシュクラスであることを表わします。 "-"はキャッシュクラスでないことを表わします。[MODeL言語のクラス定義]のcachedに相当します。
動的クラスであるかどうかを表わします。 動的クラスのオブジェクトはメモリ上にのみ存在し、
ディスクには格納されません。 全てのダイアログクラスは動的クラスです。 "o"は動的クラスであることを表わします。
"-"は動的クラスでないことを表わします。 [MODeL言語のクラス定義]のdynamicに相当します。
永続的クラスであるかどうかを表わします。 永続的クラスのオブジェクトはディスクに格納されます。
"o"は永続的クラスであることを表わします。 "-"は永続的クラスでないことを表わします。[MODeL言語のクラス定義]ではabstractでもdynamicでもないクラスがこれに相当します。
リレーションクラスかどうかを表わします。 "o"はリレーションクラスであることを表わします。 "-"はリレーションクラスでないことを表わします。
スーパークラスクラスの名称です。 カッコ内はプロンプトです。 [MODeL言語のクラス定義]のparent-nameに相当します。
サブクラスの一覧です。
サブクラスの一覧です。 カッコ内はプロンプトです。
キー定義です。 MODeL言語のキー定義に相当します。
[MODeL言語のキー定義] define key key-name using attribute-name [, attribute-name ...] attach key key-name to class-name
キーの名称です。 [MODeL言語のキー定義] におけるkey-nameに相当します。
キーが定義されているクラスを表わします。 キー定義は継承するので、 スーパークラスで定義されているキーも表示されます。
キーの再定義はできないので、ここにキー定義が表示されているクラスに 対してキー定義を行うことはできません。[MODeL言語のキー定義]
におけるclass-nameに相当します。
キーを構成するフィールドを表わします。 [MODeL言語のキー定義]
におけるattribute-nameに相当します。
このリレーションクラスと関連している他のクラスの間の定義です。 これはリレーションクラスの詳細の中だけに現れます。
以下のMODeL言語のリレーション定義に対応しています。
[MODeL言語のリレーション定義]
define [instantiable | cached | abstract | dynamic]
[category-name][,...]
[nodrops | dropboth | droponleft]
relation relation-name
between classes left-class-name (left-relationship)
AND right-class-name (right-relationship)
{with parent | parent is} parent-name
このリレーションクラスの左側に位置するクラスの名前です。 [MODeL言語のリレーション定義]
のleft-class-nameに相当します。
左側のリレーションシップ名を表わします。 [MODeL言語のリレーション定義]
のleft-relationshipに相当します。
このリレーションクラスの右側に位置するクラスの名前です。 [MODeL言語のリレーション定義]
のright-class-nameに相当します。
右側のリレーションシップ名を表わします。 [MODeL言語のリレーション定義]
のright-relationshipに相当します。
ドラッグアンドドロップの操作によって、 このリレーションが作成できるかどうかを表わします。[MODeL言語のリレーション定義]
とは以下のように対応します。
(「左可」、「双方可」、「不可」の意味はここを参照してください)
このクラスと関連しているリレーションの一覧です。
以下のMODeL言語のリレーション定義に対応しています。
[MODeL言語のリレーション定義]
define [instantiable | cached | abstract | dynamic]
[category-name][,...]
[nodrops | dropboth | droponleft]
relation relation-name
between classes left-class-name (left-relationship)
AND right-class-name (right-relationship)
{with parent | parent is} parent-name
リレーションクラスの詳細を知るためには「リレーションクラス名」 の部分をクリックしてください。
リレーションクラス名です。 [MODeL言語のリレーション定義]
のrelation-nameに相当します。
このリレーションクラスの左側に位置するクラスの名前です。 [MODeL言語のリレーション定義]
のleft-class-nameに相当します。
左側のリレーションシップ名を表わします。 [MODeL言語のリレーション定義]
のleft-relationshipに相当します。
このリレーションクラスの右側に位置するクラスの名前です。 [MODeL言語のリレーション定義]
のright-class-nameに相当します。
右側のリレーションシップ名を表わします。 [MODeL言語のリレーション定義]
のright-relationshipに相当します。
ドラッグアンドドロップの操作によって、 このリレーションが作成できるかどうかを表わします。
[MODeL言語のリレーション定義]
とは以下のように対応します。
| MODeL言語の表現 | ブラウザの表示 | 意味 |
|---|---|---|
| nodrops | 不可 | ドラッグアンドドロップによって、リレーションを作成することはできません |
| dropboth | 双方可 | 左右いずれかのクラスから他方のクラスにドラッグアンドドロップすることによって、 リレーションを作成することができます |
| droponleft | 左可 | 右クラスから左クラスにドラッグアンドドロップすることによって、 リレーションを作成することができます |
このクラスに対する説明です。この説明の定義方法については[説明の定義方法]を参照してください。
このクラスで定義されている属性の一覧です。継承している属性はこの一覧には含まれていません。
[MODeL言語の属性定義]
define attribute attribute-name
[O:] attach [published | unpublished]
[ [required] [cached] | dynamic]
{attribute | attributes} attribute-name [, attribute-name ...]
to class-name
[usage is {input | output | update}]
[O:] store attribute-name as
{date | time | time stamp
| integer | float
| string (integer | *)
| fixed decimal (integer , integer)
| blob | list | table
| name value table | name multivalue table | full table
| class-name structure
| set of class-name structure}
属性の名称を表わします。[MODeL言語の属性定義]におけるattribute-nameに相当します。
必須属性であることを表わします。[MODeL言語の属性定義]におけるrequiredに相当します。
"o"は必須属性であることを表わします。 "-"は必須属性でないことを表わします。
動的属性であることを表わします。動的属性の値はメモリ上だけに存在し、データベースに格納されることはありません。
"o"は動的属性であることを表わします。 "-"は動的属性でないことを表わします。メッセージInflateAllDynamicAttrsが呼ばれたときに値が設定されます。[MODeL言語の属性定義]におけるdynamicに相当します。
プライマリ属性であるか、バイナリ属性であるかを表わします。プライマリ属性はSQLにおける検索条件として指定することができます。"o"はプライマリ属性であることを表わします。
"-"はプライマリ属性でないこと(バイナリ属性であること)を表わします。
キャッシュ属性であるかどうかを表わします。 "o"はキャッシュ属性であることを表わします。 "-"はキャッシュ属性でないことを表わします。 [MODeL言語のクラス定義]のcachedに相当します。
属性の入出力特性を表わします。入出力特性には以下の3種類があります。"-"は入出力特性が定義されていない属性であることを表わします。
| 入出力特性 | 意味 |
|---|---|
| input | ユーザが更新可能であるが、表示不可能な属性です。例えばパスワードはこの特性を持っています。 |
| output | ユーザが更新できない属性です。 |
| update | ユーザが更新および表示させることができる属性です。 |
それぞれは[MODeL言語のクラス定義]のinput, output,
updateに相当します。
属性の型を表わします。それぞれは[MODeL言語のクラス定義]のdate,
time, time stamp, integer, float, string, fixed decimal, blob, list(SimpleList),
table,name value table(NameValueSet), name multivalue table(NameValueMultiSet),
full table, class-name structure(ObjectPtr), set of class-name structure(aSetOfObjects)に相当します。
属性の桁数を表わします。タイプがObjectPtrまたはaSetOfObjectsの場合にはMODeL言語のstore
asで定義されたクラス名(参照クラス)が表示されます。
属性のデフォルト値を表わします。デフォルト値はMODeL言語の以下の定義によって与えられます(setting
attribute deraults)。
[O:] [class-name.] attribute-name = value
このクラスのスーパークラスで定義されたている属性の一覧です。属性名のABC順に並んでいます。
このクラスで定義されているクラス定数の一覧です。継承されているクラス定数はこの一覧には含まれていません。MODeL言語における以下の定義に対応しています。
[MODeL言語のクラス定数定義] define class constant constant-name [O:] [class-name.] constant-name = value
クラス定数の名称を表わします。[MODeL言語のクラス定数定義]におけるconstant-nameを表わします。
Metaphase2.2以降ではブラウザの定義はMODeL言語のdefine browserステートメントではなく、 クラス定数で行えるようになっています。 この時のクラス定数名はブラウザの種類を表わすプレフィックスと 定義内容を表わすサフィックスから構成されています。
[ブラウザ定義のためのクラス定数名プレフィックス]
| プレフィックス | 意味 |
|---|---|
| BrwNewWin | 新規ブラウザです。 |
| BrwQuery | 検索結果のブラウザです。 |
| BrwHome | ホームコレクションブラウザです。 この名称を先頭に持つ定数はRelationクラスで定義されています。 |
| BrwRelate | リレーション編集ブラウザです。 実際にはBrwRelLeftまたはBrwRelRghtが使用されるため、 この名称を先頭に持つ定数は定義されていません。 |
| BrwRelLeft | リレーション編集ブラウザです。 (リレーションの左側を編集するためのブラウザです) |
| BrwRelRght | リレーション編集ブラウザです。 (リレーションの右側を編集するためのブラウザです) |
| BrwExpand | リレーション表示ブラウザです。 実際にはBrwExpLeftまたはBrwExpRghtが使用されるため、 この名称を先頭に持つ定数は定義されていません。 |
| BrwExpLeft | リレーション表示ブラウザです。 (リレーションの左側を表示するためのブラウザです) |
| BrwExpRght | リレーション表示ブラウザです。 (リレーションの右側を表示するためのブラウザです) |
[ブラウザ定義のためのクラス定数名サフィックス]
| サフィックス | 意味 |
|---|---|
| IdC | ブラウザのIDを表わします。 BrwBrowserSet value setで定義された値でなければなりません。 |
| AttrListC | ブラウザで表示される属性リストです。 属性リストはMODeL言語で定義しておく必要があります。 |
| DfltVwC | ブラウザのデフォルトビューを定義します。 値はBrwIconView, BrwListView, BrwTreeViewのいずれかである必要があります。 |
| IconVwC | アイコンビューが有効であるかどうかを定義します。 値は+(有効)または-(無効)でなければなりません。 |
| IconVwIdC | アイコンビューにおけるブラウザ内の各アイコンを識別するための属性を定義します。 |
| IconVwMbC | アイコンビューにおいて表示するメニューの名前を定義します。 メニューはMODeL言語で定義しておく必要があります。 |
| ListVwC | リストビューが有効であるかどうかを定義します。 値は+(有効)または-(無効)でなければなりません。 |
| ListVwIdC | リストビューにおけるブラウザ内の各アイコンを識別するための属性を定義します。 |
| ListVwMbC | リストビューにおいて表示するメニューの名前を定義します。 メニューはMODeL言語で定義しておく必要があります。 |
| TreeVwC | ツリービューが有効であるかどうかを定義します。 値は+(有効)または-(無効)でなければなりません。 |
| TreeVwIdC | ツリービューにおけるブラウザ内の各アイコンを識別するための属性を定義します。 |
| TreeVwMbC | ツリービューにおいて表示するメニューの名前を定義します。 メニューはMODeL言語で定義しておく必要があります。 |
| AccptDropsC | ブラウザがドラッグアンドドロップを受け入れるかどうかを定義します。 値は+(受け入れる)または-(受け入れない)でなければなりません。 |
| DblClkMsgC | オブジェクトがダブルクリックされた時に送られるメッセージを定義します。 通常はOpenです。 |
| DrpOnIconMsgC | ブラウザ内のオブジェクトにドラッグアンドドロップされた時に送られるメッセージを定義します。 通常はDropOnIcon1です。 |
| DrpOnWinMsgC | ブラウザにオブジェクトをドラッグアンドドロップした時に送られるメッセージを定義します。 通常はDropOnWindowです。 |
| LTreeViewNameC | ブラウザにツリー表示したときのリレーションクラスのディスプレイ名(リレーションクラスのみ) |
| RTreeViewNameC | ブラウザにツリー表示したときのリレーションクラスのディスプレイ名(リレーションクラスのみ) |
クラス定数の値を表わします。クラス定数の値は以下のものを表わしている可能性があります。このクラスブラウザはこれらのいずれかに該当する場合、その定義へのリンクを設定しています。
| 値の種類 |
備考 |
|---|---|
| クラス名 | ダイアログクラスの名称など |
| 属性名 | - |
| メッセージ名 | - |
| 属性リスト名 | アイテム識別子の編集に用いる属性リストの名称など |
| ブラウザ名 | 検索結果のブラウザの名称等 |
| メニューリスト名 | - |
| メニュー名 | - |
[MODeL言語のクラス定数定義]におけるvalueを表わします。
このクラスで定義されているメッセージの一覧です。継承しているメッセージはこの一覧の中には含みません。
[O:] attach {class message | [object] message | constructor [message]
message-name to class-name [in server server-name]
メッセージ名を表わします。におけるmessage-nameに相当します。
クラスメッセージであるかどうかを表わします。 "o"はクラスメッセージであることを表わします。
"-"はクラスメッセージでないことを表わします。
コンストラクタメッセージであるかどうかを表わします。 "o"はコンストラクタメッセージであることを表わします。
"-"はコンストラクタメッセージでないことを表わします。
クラスが定義されているファイルを表わします。
メッセージが定義されているサーバを表わします。におけるserver-nameを表わします。
このクラスで定義されている属性の一覧です。継承している属性はこの一覧には含まれていません。
[MODeL言語の属性定義]
define attribute attribute-name
[O:] attach [published | unpublished]
[ [required] [cached] | dynamic]
{attribute | attributes} attribute-name [, attribute-name ...]
to class-name
[usage is {input | output | update}]
[O:] store attribute-name as
{date | time | time stamp
| integer | float
| string (integer | *)
| fixed decimal (integer , integer)
| blob | list | table
| name value table | name multivalue table | full table
| class-name structure
| set of class-name structure}
属性の名称を表わします。[MODeL言語の属性定義]におけるattribute-nameに相当します。
プライマリ属性であるか、バイナリ属性であるかを表わします。プライマリ属性はSQLにおける検索条件として指定することができます。"o"はプライマリ属性であることを表わします。 "-"はプライマリ属性でないこと(バイナリ属性であること)を表わします。
属性の型を表わします。それぞれは[MODeL言語のクラス定義]のdate, time, time stamp, integer, float, string, fixed decimal, blob, list(SimpleList), table,name value table(NameValueSet), name multivalue table(NameValueMultiSet), full table, class-name structure(ObjectPtr), set of class-name structure(aSetOfObjects)に相当します。
属性の桁数を表わします。タイプがObjectPtrまたはaSetOfObjectsの場合にはMODeL言語のstore asで定義されたクラス名(参照クラス)が表示されます。
属性の定義としてlike定義を行った場合、その元の属性名を表わします。
[MODeL言語のlike定義]
store [attribute] attribute-name like other-attribute-name
この属性に対する説明です。この説明の定義方法については[説明の定義方法]を参照してください。
この属性のピクチャ定義を表わしています。
ピクチャ名称です。以下のMODeL言語定義に相当します。
[MODeL言語のピクチャ定義]
define picture picture-name {char-set [rep-spec] | char-list | literal}...
char-setは以下の値の組み合わせです。
| char-set | 意味 |
|---|---|
| 9 | 0〜9の数字 |
| a | 英小文字 |
| A | 英大文字 |
| x | 任意の文字 |
| X | 任意の文字またはそのキャピタル表現 |
rep-specは繰り返しを表わします。
| rep-spec | 意味 |
|---|---|
| (integer) | 最大繰り返し数のみ指定 |
| (integer , integer) | 最小、最大繰り返し数指定 |
| (*) | 繰り返し数指定なし |
| (* , integer) | 最大繰り返し数のみ指定 |
| (integer , *) | 最小繰り返し数のみ指定 |
char-listは文字の種類を以下のように記述します。
| char-list | 意味 |
|---|---|
| [123] | 1, 2または3 |
| [^123] | 1, 2, 3以外 |
| [?+-] | 空文字列または+または- |
ピクチャの定義文字列を表わします。[MODeL言語のピクチャ定義]における{char-set [rep-spec] | char-list | literal}...の部分を表わしています。
ピクチャの種類を表わします。
value set定義は条件定義、translate定義およびvalue set定義の内容を編集したものです。以下にクラスブラウザでの表示例と、それに対応するMODeL言語定義を記述します。
[MODeL言語のvalue set定義]
define value set value-set-name {`['value [, value ...] `]' | date}
define variable value set value-set-name
using message message-name
define variable value set process-specification value-set-name
select attribute attribute-name
from class class-name
[ where `['attribute-name operator string `]' `[',... `]' ]
attach value set value-set-name to attribute-name
[if condition-name] as default
以下にクラスブラウザでの表示例と、それに対応するMODeL言語定義を記述します。
[static value setの表示例]
| 条件 | value set | ||||
|---|---|---|---|---|---|
| 名称 | 定義 | 名称 | タイプ | サブタイプ | 定義 |
| TRUE | TRUE | OSNames | Static | name | AIX HP-UX IRIX("MIPS ABI") OPENVMS("Open VMS") OSF/1("DEC UNIX") SUNOS("Solaris 1.x") SOLARIS("Solaris 2.x") MACOS("Mac OS") MS-WIN3.1("Windows 3.1") NT("Windows NT") WIN95("Windows 95") |
[上記に対応するMODeL言語の定義]
define value set OSNames
["AIX", "HP-UX", "IRIX", "OPENVMS", "OSF/1",
"SUNOS", "SOLARIS", "MACOS", "MS-WIN3.1", "NT", "WIN95"];
define attribute OSName store as string(OSNamesLength);
attach value set OSNames;
attach picture OSNamesPicture to OSName;
translate "OPENVMS" to "Open VMS";
translate "OSF/1" to "DEC UNIX";
translate "IRIX" to "MIPS ABI";
translate "SUNOS" to "Solaris 1.x";
translate "SOLARIS" to "Solaris 2.x";
translate "MACOS" to "Mac OS";
translate "MS-WIN3.1" to "Windows 3.1";
translate "WIN95" to "Windows 95";
translate "NT" to "Windows NT";
[select value setの表示例]
| 条件 | value set | ||||
|---|---|---|---|---|---|
| 名称 | 定義 | 名称 | タイプ | サブタイプ | 定義 |
| Is_Role_dbox | Is_Role_dbox(obj):= ( $obj.Class LIKE 'DRoa*' ) ; | Role_set | Variable | Direct | select Participant from Role |
| Is_MsgAccRu_dbox | Is_MsgAccRu_dbox(obj):= ( $obj.Class LIKE 'DMru*' ) ; | Participant_set | Variable | Direct | select Participant from Particip |
| Is_NotifRu_dbox | Is_NotifRu_dbox(obj):= ($obj.Class LIKE 'DNru*') ; | Participant_set | Variable | Direct | select Participant from Particip |
[上記に対応するMODeL言語の定義]
define variable value set direct Role_set
select attribute Participant from class Role;
define condition Is_Role_dbox(obj) := " ( $obj.Class LIKE 'DRoa*' ) ";
attach value set Role_set to RoleName if Is_Role_dbox;
define variable value set direct Participant_set
select attribute Participant from class Particip;
define condition Is_MsgAccRu_dbox(obj) := " ( $obj.Class LIKE 'DMru*' ) ";
attach value set Participant_set to RoleName if Is_MsgAccRu_dbox;
define condition Is_NotifRu_dbox(obj) := " ($obj.Class LIKE 'DNru*') ";
attach value set Participant_set to RoleName if Is_NotifRu_dbox;
[message value setの例]
| 条件 | value set | ||||
|---|---|---|---|---|---|
| 名称 | 定義 | 名称 | タイプ | サブタイプ | 定義 |
| Not_Project_dbox | Not_Project_dbox(obj):= (NOT ($obj.Class LIKE 'DPrj*')) AND ($obj.Class != 'DRoaCre') ; | ProjectName_setFromRucache | Variable | Message | DGetLVSProjectNames |
| Roleassn_Cre_dbox | Roleassn_Cre_dbox(obj):= $obj.Class = 'DRoaCre' ; | ProjectName_setFromDb | Variable | Message | DGetLVSProjectNamesDb |
[上記に対応するMODeL言語の定義]
define variable value set ProjectName_setFromRucache
using message DGetLVSProjectNames;
define variable value set ProjectName_setFromDb
using message DGetLVSProjectNamesDb;
define CONDITION Not_Project_dbox(obj) := " (NOT ($obj.Class LIKE 'DPrj*')) \
AND ($obj.Class != 'DRoaCre') ";
define CONDITION Roleassn_Cre_dbox(obj) := " $obj.Class = 'DRoaCre' ";
attach value set ProjectName_setFromRucache to ProjectName
if Not_Project_dbox;
attach value set ProjectName_setFromDb to ProjectName
if Roleassn_Cre_dbox;
この属性がattachされているクラスの一覧を表わします。クラス名のABC順に並んでいます。
value setが適用される条件を表わします。
value setが適用される条件名を表わします。[MODeL言語のvalue set定義]におけるcondition-nameを表わします。
value setが適用される条件を表わします。条件は以下のMODeL言語記述によって定義されます。
define condition condition-name (object-name) := "condition"
value setの定義を表わします。
value setの名称を表わします。[MODeL言語のvalue set定義]におけるvalue-set-nameを表わします。
value setの種類を表わします。
| タイプ | 意味 |
|---|---|
| Static | 取りうる値をMODeL言語で具体的に定義していることを表わしています。つまり以下のvalue
set定義に対応しています。
define value set value-set-name {`['value [, value ...] `]' | date}
|
| Variable | 取りうる値は指定されたクラスのオブジェクトの属性値またはメッセージによって決定することを表わしています。つまり以下のいずれかのvalue
set定義に対応しています。
define variable value set value-set-name
using message message-name
define variable value set process-specification value-set-name
select attribute attribute-name
from class class-name
[ where `['attribute-name operator string `]' `[',... `]' ]
|
value setの種類を表わします。タイプとの組み合わせによって、以下の意味を持ちます。
| タイプ | サブタイプ | 意味 |
|---|---|---|
| Static | date | 日付の値が定義されています。 |
| Static | int | 整数値が定義されています。 |
| Static | long | long整数値が定義されています。 |
| Static | float | 実数値が定義されています。 |
| Static | string | 文字列値が定義されています。 |
| Static | name | 文字列値が定義されています。 |
| Variable | Direct | 値を指定されたクラスの属性値から取得します。この時、検索ルールの処理を行いません。つまりメッセージアクセスルールの設定に関係なく条件に該当するオブジェクトを検索します。 |
| Variable | Process | 値を指定されたクラスの属性値から取得します。この時、検索ルールの処理を行います。つまりアクセスが許可されたものだけが一覧として表示されます。 |
| Variable | Message | 値が必要な時に指定されたメッセージが呼ばれます。以下の文法で定義されたvalue
setであることを表わします。
define variable value set value-set-name
using message message-name
|
value setの定義内容です。
この属性がattachされているクラスの一覧です。クラス名のABC順に並んでいます。
[MODeL言語のブラウザ定義]
[O:] define browser browser-name using menu-list-name as [default] view-style view menubar , ... [using attribute-name as view-style view identifier , ... ] [using [message-name] as interaction-style message , ...]
メニューリストの定義です。
ブラウザのビューの種類を表わします。
| ビュー種類 | 意味 |
|---|---|
| List | リストビュー |
| Icon | アイコンビュー |
| Tree | ツリービュー |
このブラウザの各ビューにおいて表示されるメニューリスト名です。
このブラウザが最初に表示された時に選択されるビューを表わしています。"o"のビューが始めに選択されます。
このブラウザで使用される属性リスト名です。
| イベント | MODeL言語での表記 | 意味 |
|---|---|---|
| ダブルクリック | double click | ブラウザ内でアイコンをダブルクリックした時。デフォルトメッセージはOpenです。 |
| アイコンドロップ | icon drop | ブラウザ内でアイコンをアイコンにドラッグアンドドロップした時。 デフォルトメッセージはDropOnIcon1です。 |
| ウィンドウドロップ | window drop | アイコンをブラウザ内ドラッグアンドドロップした時。 デフォルトメッセージはDropOnWindowです。 |
このオプションリストを構成するオプションの名前です。 MODel言語では以下のように定義されます。
[MODeL言語オプション、オプションリスト定義]
[O:] define [hidden] [option-type [initial-state]] option option-name
[using menu menu-name | using message category-message-name]
[with [class | relation] class-name]
[with relationship relationship-name
[O:] define [sorted] option list option-list-name
[with option[s] option-name [, option-name ...]]
コンシューマレベルのユーザからオプションを隠す指定です。
オプションの種類を表わします。
| 種類 | 意味 |
|---|---|
| menu | オプションを選択することにより、別なメニューが表示されることを表わします。 |
| action | オプションを選択することにより、メッセージが起動されることを表わします。 |
オプションのプロンプトを表わします。
オプションが選択されたときに実行するメッセージ名または表示されるメニュー名を表わします。種類が"menu"のときはメニュー名を、"action"のときはメッセージ名を表わします。
種類が"action"の場合はメッセージが送られるクラス名を表わします。これは実行するメッセージがクラスメッセージの場合にだけ定義されます。種類が"menu"の場合、この欄は意味を持ちません。
種類が"action"の場合はメッセージを実行するときに渡すリレーションシップ名を表わしています。種類が"menu"の場合、この欄は意味を持ちません。
[MODeL言語のメニューリスト定義]
[O:] define [sorted] menu list menu-list-name
[with menu[s] menu-name [, menu-name ...]]
このメニューリストで定義されているメニューの名前です。
メニュー名に対応するプロンプトです。
メッセージの定義です。 以下のMODeL言語定義に対応します。
define [ [trusted] external] [category] [published | unpublished]
{class [overridable | nonoverridable] message
| [object] [overridable | nonoverridable] message
| constructor [overridable | nonoverridable] [message]} message-name
[singleobject [message] message-name [, message-name...]
| multiobject [message] message-name]
(
input : [null] argument-type argument-name [ = "constant-name" ] [, ...] ::
output : argument-type * argument-name [ = "constant-name" ] [, ...] ::
update : [null] * argument-type argument-name [="constant-name" ] [, ...]
)
[in server server-name]
define {class [overridable | nonoverridable] message
| [object] [overridable | nonoverridable] message
| constructor [overridable | nonoverridable] [message]}
new-message-name like category-message-name
[singleobject [message] message-name [, message-name...]
| multiobject [message] message-name]
メッセージの名前です。
メッセージの種類を表わします。
| メッセージ種類 | 意味 |
|---|---|
| ClassMessage | クラスに送られるメッセージです。 |
| ObjectMessage | オブジェクトに送られるメッセージです。 |
| ConstructorMessage | オブジェクト生成時にクラスに送られるメッセージです。 |
プライベートメッセージであるかどうかを表わします。"o"はプライベートメッセージです。"-"はプライベートメッセージではありません。
外部メッセージであるかどうかを表わします。 [MODeL言語のメッセージ定義] におけるexternalに相当します。 外部メッセージはルールサブシステムによってチェックされます。 "o"は外部メッセージです。"-"は外部メッセージではありません。
trustedメッセージであるかどうかを表わします。"o"はtrustedメッセージです。 trustedメッセージは外部メッセージですが、ルールサブシステムのチェックを受けません。 "-"はtrustedメッセージではありません。
マルチオブジェクトメッセージであるかどうかを表わします。 "o"はマルチオブジェクトメッセージであることを表わします。
"-"はマルチオブジェクトメッセージでないことを表わします。
[MODeL言語のメッセージ定義] におけるlike以下に記述されるCategory messsageが表示されます。 "-"はLike記述がないことを表わしています。
このメッセージに対する説明です。この説明の定義方法については[説明の定義方法]を参照してください。
このメッセージの引数定義です。
引数としてNULLを渡すことができるかどうかを表わします。"o"はNULLを渡せます。"-"はNULLを渡せません。
model -cまたはmodel -Cは、.cまたは.imlファイル生成時に、この引数に対する整合性チェックを生成しません。
引数の受け渡し方法を定義したものです。
| 入出力 | 意味 |
|---|---|
| input | 呼出し元から渡されるだけの引数です。 |
| output | 呼出し元へ返すための引数です。 |
| update | 呼出し元から渡され、呼出し元へ値を返すことのできる引数です。 |
引数の型を表わします。型には以下の種類があります。
| 型 | 意味 |
|---|---|
| integer | Cにおけるint |
| int | Cにおけるint |
| boolean | Cにおけるint |
| float | Cにおけるfloat |
| string | Cにおける char *と同じ |
| ObjectPtr | オブジェクト情報を持つ構造体へのポインタ |
| MtiTransactionPtr | データベーストランザクション情報を持つ構造体へのポインタ |
| SetObObjects | ObjectPtrの集まりへのポインタ |
| NvSet | name/valueペアの集まりのポインタ。 |
| SetObStrings | 文字列の集まりへのポインタ |
| SqlPtr | SQL情報を持つ構造体へのポインタ |
引数の名前です。
メッセージと共にブラウザに渡される情報を表わしています。 これはカテゴリメッセージだけに適用されます。 各定数は以下の意味を持っています。
| 定数名 | 型 | 意味 |
|---|---|---|
| background-item | ObjectPtr | ブラウザウィンドウのコンテキストオブジェクト |
| background-item-class | String | コンテキストオブジェクトクラス |
| background-relationship | String | コンテキストリレーションシップ |
| background-relation-class | String | コンテキストリレーションオブジェクトクラス |
| diagram | SetPtr | ダイアグラムウィンドウの中のノードオブジェクトの集合 |
| drop-source-item-set | SetPtr | ターゲットオブジェクトにドロップされたオブジェクトの集合 |
| drop-source-item-set-class | SetPtr | ターゲットオブジェクトにドロップされたオブジェクトの集合の共通クラス |
| drop-source-window-id | String | ドロップされたウィンドウに関連付けられたウィンドウのID |
| drop-target-item | ObjectPtr | ドロップ操作におけるターゲットのアイテムオブジェクト |
| drop-target-item-class | String | ドロップ操作におけるターゲットアイテムオブジェクトのクラス |
| expand-item | ObjectPtr | ツリービューにおけるリレーション拡張で選択されたアイテムオブジェクト |
| expand-item-class | String | リレーション拡張で選択されたアイテムオブジェクトのクラス |
| option-class | String | メニューオプションに関連付けられたクラス名 |
| option-relationship | String | メニューオプションに関連付けられたリレーションシップの名前 |
| option-state | Boolean | トグルオプションがセットされているときtrueを返し、 それ以外のときfalseを返す |
| option-tag | String | メニューオプションに関連付けられたタグ |
| root-item-set | SetPtr | バックグラウンドオブジェクトにおいて バックグラウンドリレーションシップを共有するアイテムオブジェクトの集合 |
| root-item-set-class | String | アイテムオブジェクトの集合の共通クラス |
| root-relation-set | SetPtr | ブラウザの内容と関連付けられたリレーションオブジェクトの集合 |
| root-relation-set-class | String | リレーションオブジェクトの集合の共通クラス |
| selected-item | ObjectPtr | ブラウザから選択された単一のアイテムオブジェクト |
| selected-item-class | String | 選択されたアイテムオブジェクトのクラス |
| selected-relationship | String | 選択されたアイテムオブジェクトと親のアイテムオブジェクトの間のリレーションシップの 名前(親アイテムオブジェクトはバックグラウンドアイテムオブジェクトまたは リレーション拡張されたアイテムオブジェクト) |
| selected-relation | ObjectPtr | 選択されたリレーション (選択されたリレーションはベースオブジェクトとバックグラウンドオブジェクト の間のリレーションシップかまたはツリービューにおいてはリレーション拡張された オブジェクトと選択されたアイテムオブジェクトの間のリレーションシップです) |
| selected-relation-class | String | 選択されたアイテムオブジェクトの関連付けられたリレーションオブジェクトのクラス |
| selected-item-set | SetPtr | ブラウザに置いて選択された1つまたは複数のオブジェクトの集合 |
| selected-item-set-class | String | 選択されたオブジェクトの集合の共通の最下位クラス |
| selected-relation-set | SetPtr | ブラウザにおいて選択されたアイテムオブジェクトに関連付けられた 1つまたは複数のリレーションオブジェクト |
| selected-relation-set-class | String | 選択されたリレーションオブジェクトの集合の共通の最下位クラス |
| session-class | String | セッションオブジェクトクラス |
このメッセージが定義されているクラスの一覧です。 クラス名のABC順に並んでいます。
ユーザが定義したクラス、属性等へのリンクを集めたものです。
ソースプログラム中で定義されているクラスの一覧です。
ユーザが定義したクラスの名前です。
クラスが定義されているファイルの名称です。 カッコ内はそのクラスが定義されているソース中の行番号です。
ソースプログラム中で定義されている属性の一覧です。
ユーザが定義した属性の名前です。
属性が定義されているファイルの名称です。 カッコ内はその属性が定義されているソース中の行番号です。
ソースプログラム中で定義されている属性リストの一覧です。
ユーザが定義した属性リストの名前です。
属性リストが定義されているファイルの名称です。 カッコ内はその属性リストが定義されているソース中の行番号です。
ソースプログラム中で定義されているメッセージの一覧です。
ユーザが定義したメッセージの名前です。
メッセージが定義されているファイルの名称です。 カッコ内はそのメッセージが定義されているソース中の行番号です。
ソースプログラム中で定義されているブラウザの一覧です。
ユーザが定義したブラウザの名前です。
ブラウザが定義されているファイルの名称です。 カッコ内はそのブラウザが定義されているソース中の行番号です。
ソースプログラム中で定義されているメニューリストの一覧です。
ユーザが定義したメニューリストの名前です。
メニューリストが定義されているファイルの名称です。 カッコ内はそのメニューリストが定義されているソース中の行番号です。
ソースプログラム中で定義されているメニューの一覧です。
ユーザが定義したメニューの名前です。
メニューが定義されているファイルの名称です。 カッコ内はそのメニューが定義されているソース中の行番号です。
ソースプログラム中で定義されているオプションリストの一覧です。
ユーザが定義したオプションリストの名前です。
オプションリストが定義されているファイルの名称です。 カッコ内はそのオプションリストが定義されているソース中の行番号です。
ソースプログラム中で定義されているオプションの一覧です。
ユーザが定義したオプションの名前です。
オプションが定義されているファイルの名称です。 カッコ内はそのオプションが定義されているソース中の行番号です。
ソースプログラム中で定義されているサーバの一覧です。
ユーザが定義したサーバの名前です。
サーバが定義されているファイルの名称です。 カッコ内はそのサーバが定義されているソース中の行番号です。
リレーション、ダイアログクラスを除くクラスの一覧です。 クラスの継承関係をインデントで表現しています。 各クラス名の末尾にある [a:抽象, c:キャッシュ, d:動的, p:永続的, r:リレーション] はクラスの性質を表わしています。
「クラス階層」の末尾にある日付・時刻はクラスブラウザを生成した日付・時刻を表わしています。
リレーショングクラスだけクラスの一覧です。 クラスの継承関係をインデントで表現しています。 各クラス名の末尾にある [a:抽象, c:キャッシュ, d:動的, p:永続的, r:リレーション] はクラスの性質を表わしています。
ダイアログクラスだけのクラスの一覧です。 クラスの継承関係をインデントで表現しています。 各クラス名の末尾にある [a:抽象, c:キャッシュ, d:動的, p:永続的, r:リレーション] はクラスの性質を表わしています。
ブラウザの一覧です。
メニューの一覧です。
[a:抽象, c:キャッシュ, d:動的, p:永続的, r:リレーション]
| 略号 |
意味 |
備考 |
|---|---|---|
| a | 抽象 | 実体を持たないクラスです。サブクラスに共通する性質(属性、メッセージなど)を定義するためのクラスです。 |
| c | キャッシュ | キャッシュされるクラスです。 |
| d | 動的 | 動的にインスタンスが生成され、メモリ上のみにオブジェクトが存在するクラスです。ディスク上には格納されません。ダイアログクラスは全て動的クラスです。 |
| p | 永続的 | ディスク上にオブジェクトが格納されるクラスです。抽象クラス、動的クラスでないクラスです。 |
| r | リレーション | クラス間のリレーションを表わすクラスです。 |
説明は以下の形式でソース中に埋め込まれたテキストから取得されたものです。
/* *.TXT identifier *. テキスト - 複数行に渡るテキストを記述する *. 置き換えパラメータは#PARM#の用に記述する *.HLP *. ヘルプ - 複数行に渡るテキストを記述する *. 置き換えパラメータは#PARM#の用に記述する *.CMT *. コメント - 「テキスト」と「ヘルプ」の意味と *. 使い方を複数行に渡る説明として記述する *. 置き換えパラメータは使用できない。 *. このテキストは*.txtファイルに格納されるが、 *. ユーザに対して表示されることはない。 */
この内の「テキスト」がクラスブラウザで「説明」として表示される部分です。
identifierとして、クラス名・属性名・メッセージ名などを指定します。
osqlx
userdef カスタマイズソースディレクトリ...「カスタマイズソースディレクトリ」はカスタマイズソースのある ディレクトリを指定します。 ディレクトリは複数していすることができます。 例えば以下のようになります。
userdef c:\usr\m22test\intdir\src c:\m22test\intdir\msgカスタマイズソースがない場合はこのプログラムは実行する必要ありません。
COPY c:\usr\local\osqlx\bin\help.html .
classb\ ----+---- src\ ----+---- xxxx.met.nnnn.html
| |
| +---- xxxx.mth.nnnn.html
+---- _index.html
|
+---- userdef.html
|
+---- menu.html
|
+---- mainf.html (初期画面)
|
+---- help.html(ヘルプファイル)
|
+---- class\ (クラス定義のディレクトリ)
|
+---- menu\ (メニュー定義のディレクトリ)
|
+---- attrib\ (属性定義のディレクトリ)
|
+---- message\ (メッセージ定義のディレクトリ)
WWWブラウザで参照するときは上記の"mainf.html"を指定してください。