メインコンテンツまでスキップ
バージョン: 20 R7 BETA

METHOD SET ATTRIBUTES

METHOD SET ATTRIBUTES ( path ; attributes {; *} )

引数説明
pathText, Text配列メソッドのパス
attributesObject, Object arrayメソッドに対して設定する属性
*演算子指定時 = コンポーネントから実行された場合、コマンドをホストデータベースに適用する
(このコンテキスト外ではこの引数は無視されます)

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

METHOD SET ATTRIBUTES コマンドは、path 引数で指定したメソッドの、attributes 引数で指定した値を設定することができます。

path 引数にはメソッドパスを含んだテキストか、パスの配列を含んだテキスト配列を渡す事ができます。属性を適切に設定するため、attributes にも対応した形 (パスが配列なら属性も配列) で引数を渡す必要があります。このコマンドはプロジェクトメソッドに対してのみ使用できます。path 引数に無効なパスを渡した場合、エラーが生成されます。

attributes 引数には、メソッドに対して設定したい属性をすべて含んだオブジェクト、またはオブジェクトの配列を渡します (渡したpath 引数の種類によります)。

メソッドの属性はOB SET または OB SET ARRAY コマンドを使用して設定する必要があります。ブール型の属性に対してTrueまたはFalseの値を、拡張された属性に対しては特定の値(例えば4D Mobile Property において"scope":"table" など)を設定します。attributes 引数に存在する属性のみがメソッド属性内で更新されます。

コマンドがコンポーネントから実行された場合、デフォルトではコンポーネントメソッドに対して適用されます。* 引数を渡した場合、コマンドはホストデータベースのメソッドに適用されます。

サポートされる属性は以下の通りです:

{    "invisible" : false, // 表示状態であればtrue    "preemptive" : "capable" // または "incapable" あるいは "indifferent"    "publishedWeb" : false,  // 4D tags と URLを通して使用可能であればtrue    "publishedSoap": false,  // Webサービスとして提供されていればtrue    "publishedWsdl": false,  // WSDLで公開されていればtrue    "shared" : false,  // コンポーネントとホストデータベースで共有されていればtrue    "publishedSql" : false,  // SQLを通して利用可能であればtrue    "executedOnServer" : false, // サーバー側で実行されていればtrue}

注: "published4DMobile" 属性については、4D v18 において廃止予定となりました。

例題

属性を一つだけ設定したい場合を考えます:

 var $attributes : Object
 OB SET($attributes;"executedOnServer";True)
 METHOD SET ATTRIBUTES("aMethod";$attributes) //"executedOnServer" 属性のみが変更されます

参照

METHOD GET ATTRIBUTES
METHOD SET ATTRIBUTE