Metaphaseクラスブラウザヘルプ

目次


クラス定義


基本定義(クラス)

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]


Single object message

メッセージ名を表わします。におけるmessage-nameに相当します。


Class message

クラスメッセージであるかどうかを表わします。 "o"はクラスメッセージであることを表わします。 "-"はクラスメッセージでないことを表わします。


Constructor message

コンストラクタメッセージであるかどうかを表わします。 "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

属性の定義として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定義

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の定義を表わします。

名称

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言語の以下の記述に対応します。
[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言語のブラウザ定義] におけるinteraction-styleに相当します。
イベントMODeL言語での表記意味
ダブルクリックdouble click ブラウザ内でアイコンをダブルクリックした時。デフォルトメッセージはOpenです。
アイコンドロップicon drop ブラウザ内でアイコンをアイコンにドラッグアンドドロップした時。 デフォルトメッセージはDropOnIcon1です。
ウィンドウドロップwindow drop アイコンをブラウザ内ドラッグアンドドロップした時。 デフォルトメッセージはDropOnWindowです。

メッセージ

操作に対応して起動するメッセージを表わします。 [MODeL言語のブラウザ定義] におけるmessage-nameに相当します。


メニュー定義

オプションリスト

オプション名

このオプションリストを構成するオプションの名前です。 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言語定義に対応します。

[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

trustedメッセージであるかどうかを表わします。"o"はtrustedメッセージです。 trustedメッセージは外部メッセージですが、ルールサブシステムのチェックを受けません。 "-"はtrustedメッセージではありません。


マルチ

マルチオブジェクトメッセージであるかどうかを表わします。 "o"はマルチオブジェクトメッセージであることを表わします。 "-"はマルチオブジェクトメッセージでないことを表わします。

Like

[MODeL言語のメッセージ定義] におけるlike以下に記述されるCategory messsageが表示されます。 "-"はLike記述がないことを表わしています。


説明(メッセージ)

このメッセージに対する説明です。この説明の定義方法については[説明の定義方法]を参照してください。


引数

このメッセージの引数定義です。

NULL可

引数として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)はMetaphaseのカスタムクライアント として作成されています。