ComponentMetaData (クラス)
public sealed serializable ComponentMetaData {inherits Serializable}
パッケージ: CURL.LANGUAGE.COMPONENT
直接継承しているサブクラス: ComponentSelector

Component のメタデータのコンテナ。

改訂

このクラスは Curl 7.0 で serializable に定義されました。

コンストラクタ
default:メタデータを初期化します。
コンストラクタ public {ComponentMetaData.default
frozen?:bool = false,
copy-from:#ComponentMetaData = null,
from-string:#String = null,
deep-copy?:bool = false,
...
}

プロパティ
author:このコンポーネントの作者の名前。
アクセサ public sealed ComponentMetaData.author:#String
セッター public sealed ComponentMetaData.author:#String
cache-duration:期限切れチェックを実行せずにコンポーネントをキャッシュできる期間。
アクセサ public sealed ComponentMetaData.cache-duration:Time
セッター public sealed ComponentMetaData.cache-duration:Time
compilation-time:コンポーネントのコンパイル開始を識別するタイムスタンプ。
アクセサ public sealed inline ComponentMetaData.compilation-time:#DateTimeData
セッター public sealed ComponentMetaData.compilation-time:#DateTimeData
component-type:コンポーネント型を識別します。
アクセサ public sealed inline ComponentMetaData.component-type:#String
セッター public sealed ComponentMetaData.component-type:#String
content-id:コンポーネントに対する一意かつ確実なコンテンツ識別子。
アクセサ public sealed inline ComponentMetaData.content-id:#ComponentID
セッター public sealed ComponentMetaData.content-id:#ComponentID
content-size:コンポーネントのサイズ。
アクセサ public sealed inline ComponentMetaData.content-size:int
セッター public sealed ComponentMetaData.content-size:int
copyright:コンポーネントの著作権メッセージ。
アクセサ public sealed ComponentMetaData.copyright:#String
セッター public sealed ComponentMetaData.copyright:#String
curl-api-version:コンパイル コンポーネントに対して使用される Curl ヘラルドの API バージョン。
アクセサ public sealed inline ComponentMetaData.curl-api-version:#VersionNumber
セッター public sealed ComponentMetaData.curl-api-version:#VersionNumber
curl-file-signatures:このコンポーネントの curl-file-sinatures の内容。
アクセサ public sealed ComponentMetaData.curl-file-signatures:#ReadOnlyStringArray
セッター public sealed ComponentMetaData.curl-file-signatures:#ReadOnlyStringArray
curl-versions:コンポーネントに対応する Curl バージョンのリスト。
アクセサ public sealed ComponentMetaData.curl-versions:#{ReadOnlyArray-of VersionNumber}
セッター public sealed ComponentMetaData.curl-versions:#{ReadOnlyArray-of VersionNumber}
debuggable?:コンポーネントがデバック可能であるかどうかを示します。既定は false です。
アクセサ public sealed inline ComponentMetaData.debuggable?:bool
セッター public sealed ComponentMetaData.debuggable?:bool
default-locale:コンポーネントの既定のロケールです。
アクセサ public sealed ComponentMetaData.default-locale:#String
セッター public sealed ComponentMetaData.default-locale:#String
file:リソースの抽象的なファイル名です。
アクセサ public sealed ComponentMetaData.file:#String
セッター public sealed ComponentMetaData.file:#String
file-format:コンポーネントのファイル形式。
アクセサ public sealed inline ComponentMetaData.file-format:#String
セッター public sealed ComponentMetaData.file-format:#String
files:コンポーネントに含まれるファイル名のリスト。
アクセサ public sealed ComponentMetaData.files:#{ReadOnlyArray-of String}
セッター public sealed ComponentMetaData.files:#{ReadOnlyArray-of String}
frozen?:オブジェクトが "フリーズ" されているかどうかを示します。
フィールド public-get hidden-set ComponentMetaData.frozen?:bool
id:コンポーネントの一意の識別子。
アクセサ public sealed inline ComponentMetaData.id:#ComponentID
セッター public sealed ComponentMetaData.id:#ComponentID
jit-compilable?:コンポーネントが JIT コンパイルを許容するかどうかを示します。既定は true です。
アクセサ public sealed inline ComponentMetaData.jit-compilable?:bool
セッター public sealed ComponentMetaData.jit-compilable?:bool
jit-compiled?:コンポーネントが JIT でコンパイルされたかどうかどうかを示します。既定は true です。
アクセサ public sealed inline ComponentMetaData.jit-compiled?:bool
セッター public sealed ComponentMetaData.jit-compiled?:bool
license:
アクセサ public sealed ComponentMetaData.license:#String
セッター public sealed ComponentMetaData.license:#String
locale:コンポーネントのロケールを識別します。
アクセサ public sealed ComponentMetaData.locale:#String
セッター public sealed ComponentMetaData.locale:#String
manifest:このコンポーネントに関連つけられたマニフェストの場所。
アクセサ public sealed ComponentMetaData.manifest:#String
セッター public sealed ComponentMetaData.manifest:#String
name:コンポーネントの名前。
アクセサ public sealed inline ComponentMetaData.name:#String
セッター public sealed ComponentMetaData.name:#String
origin-url-names:このコンポーネントのソースの可能性がある URL のリスト。
アクセサ public sealed ComponentMetaData.origin-url-names:#ReadOnlyStringArray
セッター public sealed ComponentMetaData.origin-url-names:#ReadOnlyStringArray
package-caching-style:このコンポーネントのパッケージのキャッシング スタイル。
アクセサ public sealed ComponentMetaData.package-caching-style:#String
セッター public sealed ComponentMetaData.package-caching-style:#String
release-notes:このコンポーネントのリリースノート。
アクセサ public sealed ComponentMetaData.release-notes:#String
セッター public sealed ComponentMetaData.release-notes:#String
release-timestamp:コンポーネント リリースの日時
アクセサ public sealed ComponentMetaData.release-timestamp:#DateTimeData
セッター public sealed ComponentMetaData.release-timestamp:#DateTimeData
requires-privilege?:コンポーネントを使用するために特権が必要かどうか。
アクセサ public final ComponentMetaData.requires-privilege?:bool
セッター public final ComponentMetaData.requires-privilege?:bool
resource-directory:コンポーネントのリソースがあるルート ディレクトリを指定します。
アクセサ public sealed ComponentMetaData.resource-directory:#String
セッター public sealed ComponentMetaData.resource-directory:#String
resync-adjust?:resync-file から同期する日時を調節するかどうか。
アクセサ public sealed ComponentMetaData.resync-adjust?:bool
セッター public sealed ComponentMetaData.resync-adjust?:bool
resync-as-of:コンポーネントの再同期の時刻。
アクセサ public sealed ComponentMetaData.resync-as-of:#DateTimeData
セッター public sealed ComponentMetaData.resync-as-of:#DateTimeData
resync-file:指定したファイルからコンポーネントの再同期する時間を設定します。
アクセサ public sealed ComponentMetaData.resync-file:#String
セッター public sealed ComponentMetaData.resync-file:#String
SHA-1-digest:ファイルの SHA-1 ダイジェスト。
アクセサ public sealed ComponentMetaData.SHA-1-digest:#SHA-1-Digest
セッター public sealed ComponentMetaData.SHA-1-digest:#SHA-1-Digest
source-url:ComponentMetaData.source-url-name から Url を作成します。
アクセサ public final ComponentMetaData.source-url:#Url
source-url-name:コンポーネントのコンパイル元であるソースの絶対 URL を含む文字列。
アクセサ public sealed ComponentMetaData.source-url-name:#String
セッター public sealed ComponentMetaData.source-url-name:#String
transitive-id:依存関係を含むコンポーネントの一意の id。
アクセサ public sealed inline ComponentMetaData.transitive-id:#ComponentID
セッター public sealed ComponentMetaData.transitive-id:#ComponentID
translations-file:コンポーネントの翻訳ファイルの名前を指定します。
アクセサ public sealed ComponentMetaData.translations-file:#String
セッター public sealed ComponentMetaData.translations-file:#String
version:コンポーネントのバージョン。
アクセサ public sealed inline ComponentMetaData.version:#VersionNumber
セッター public sealed ComponentMetaData.version:#VersionNumber

クラス プロシージャ
supported-value-type?:type をメタデータの値として使用できるかどうかを示します。
public {ComponentMetaData.supported-value-type? type:Type}:bool

メソッド
assert-match:メタデータが component のメタデータと一致しない場合は ComponentMismatchError をスローします。
public sealed {ComponentMetaData.assert-match component:Component}:void
assert-not-frozen:コンポーネントがフリーズしていないことを示します。
protected final {ComponentMetaData.assert-not-frozen}:void
clone:オブジェクトのコピーを返します。
public sealed inline {ComponentMetaData.clone
deep-copy?:bool = false
}:ComponentMetaData
freeze:メタデータが変更できないようにこれをフリーズします。
public sealed inline {ComponentMetaData.freeze}:void
get:指定した key に対するメタデータの値を取得します。
public sealed {ComponentMetaData.get key:String}:any
get-if-exists:指定した key に対するメタデータの値を取得します。
public sealed {ComponentMetaData.get-if-exists
key:String
}:(value:any, found?:bool)
keys-to-Iterator:メタデータ内のキーの反復子を返します。
public sealed inline {ComponentMetaData.keys-to-Iterator
}:{Iterator-of String}
matches?:other が現在のオブジェクトの属性に一致するかどうかを示します。
public sealed {ComponentMetaData.matches?}:(match?:bool, first-non-match:#String)
set:キーのメタデータの値を設定します。
public sealed {ComponentMetaData.set key:String, value:any}:void
set-meta-data:メタデータを設定します。
protected sealed {ComponentMetaData.set-meta-data ...}:void
set?:key の値が設定されているかどうかを示します。
public sealed {ComponentMetaData.set? key:String}:bool
unset:key の既存の値の設定を解除します。
public sealed inline {ComponentMetaData.unset key:String}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {ComponentMetaData.default
frozen?:bool = false,
copy-from:#ComponentMetaData = null,
from-string:#String = null,
deep-copy?:bool = false,
...
}

メタデータを初期化します。

component: 指定された場合、メタデータはコンポーネントから抽出されます。他に引数を指定する必要はありません。

現時点では、コンポーネントの id は url-name と同じですがこれは最終的には変更されることになっています。
frozen?: 初期化の後で ComponentMetaData.frozen? 属性を設定します。
from-string:
Curl のソース フォーム内の文字列から、カンマ区切りのキーワード/値のペアを解析します。次に例を示します。
{ComponentMetaData
    from-string = |"name = "A", version = "1.0""|
}
copy-from: null でない場合、指定したオブジェクトからメタデータがコピーされます。
...: キーワードと値のペア。これらを指定するには、キーワード引数を使用するかまたは文字列の後に値を続けて指定します。メタデータ名が単純な識別子でない場合は後者を指定する必要があります。次に例を示します。

{new ComponentMetaData,
     version="1.2",
     "my.private-info", 42
}



プロパティ詳細
author (アクセサ)
アクセサ public sealed ComponentMetaData.author:#String
セッター public sealed ComponentMetaData.author:#String

このコンポーネントの作者の名前。



cache-duration (アクセサ)
アクセサ public sealed ComponentMetaData.cache-duration:Time
セッター public sealed ComponentMetaData.cache-duration:Time

期限切れチェックを実行せずにコンポーネントをキャッシュできる期間。

説明

コンポーネントが基礎となるソースからみて期限切れかどうかのチェックなしに、メモリ内またはディスク上にコンポーネントがキャッシュされる期間を示します。現在、この属性は Curl パッケージとマニフェストのみで有効です。
負の数の場合は無視されます。これは期間が未設定であることを示すのに使います。


compilation-time (アクセサ)
アクセサ public sealed inline ComponentMetaData.compilation-time:#DateTimeData
セッター public sealed ComponentMetaData.compilation-time:#DateTimeData

コンポーネントのコンパイル開始を識別するタイムスタンプ。

説明

Package に対して、コンパイラで自動的に生成されます。


component-type (アクセサ)
アクセサ public sealed inline ComponentMetaData.component-type:#String
セッター public sealed ComponentMetaData.component-type:#String

コンポーネント型を識別します。

説明

これは多くの場合自動的に設定されます。
  • import または import-package により取得される Package に属するメタデータの「パッケージ」に設定されます。
  • import-manifest により取得される ComponentManifest に属するメタデータの「マニフェスト」に設定されます。これには既定のマニフェスト(get-default-manifest を参照) とそのデリゲートが含まれます。
  • 現在のプロセスのパッケージ (get-current-package を参照) に属するメタデータの場合、必要に応じて「アプレット」または「スクリプト」に設定されます。
  • ComponentManifest にある ComponentSelector は、マニフェストの component 宣言から宣言された component-type に対応します。


content-id (アクセサ)
アクセサ public sealed inline ComponentMetaData.content-id:#ComponentID
セッター public sealed ComponentMetaData.content-id:#ComponentID

コンポーネントに対する一意かつ確実なコンテンツ識別子。

説明

Package については、コンテンツに基づいてシステムで自動的に生成されます。


content-size (アクセサ)
アクセサ public sealed inline ComponentMetaData.content-size:int
セッター public sealed ComponentMetaData.content-size:int

コンポーネントのサイズ。

説明

これは、Curl パッケージ、アプレット、スクリプトについてシステムで自動的に計算されます。単位は次の file-format に応じて決まります。



注意 : Curl パッケージまたはスクリプトソース内の文字数には、トップレベル (すなわち任意の Curl ブラケットの外側) の空白またはコメントが含まれていません。したがって、次の 2 つのパッケージは同じ content-size を生成することになります。

{curl 8.0 package}
{package FOO}

|| This will be ignored

{define-proc public {foo}:void}


{curl 8.0 package}
{package FOO}
{define-proc public {foo}:void}


copyright (アクセサ)
アクセサ public sealed ComponentMetaData.copyright:#String
セッター public sealed ComponentMetaData.copyright:#String

コンポーネントの著作権メッセージ。



curl-api-version (アクセサ)
アクセサ public sealed inline ComponentMetaData.curl-api-version:#VersionNumber
セッター public sealed ComponentMetaData.curl-api-version:#VersionNumber

コンパイル コンポーネントに対して使用される Curl ヘラルドの API バージョン。

説明

これは自動的に curl ヘラルドから計算され、コードのコンパイルに使用される Curl API バージョンと一致する curl-versions のバージョンになります。
これは「3.0.4+」などの拡張されたバージョン番号になります。実際の API バージョンを取得するには、これを使用して get-installed-api-versions のバージョンを検索します。
{if-non-null my-version = meta-data.curl-api-version then
    {for installed-version in {get-installed-api-versions} do
        {if {my-version.partial-match? installed-version} then
            let my-installed-version:VersionNumber =
                installed-version
            ...
            {break}
        }
    }
}
または、単純に 2 つのコンポーネントにバージョン番号を切り捨てます。
{if-non-null my-version = meta-data.curl-api-version then
    let my-installed-version:VersionNumber =
        {my-version.n-clone n = 2}
    ...
}


curl-file-signatures (アクセサ)
アクセサ public sealed ComponentMetaData.curl-file-signatures:#ReadOnlyStringArray
セッター public sealed ComponentMetaData.curl-file-signatures:#ReadOnlyStringArray

このコンポーネントの curl-file-sinatures の内容。

説明

アプレット、パッケージ、マニフェストおよびスクリプトに対して自動的に計算され、コンポーネントに表示されるそれぞれの curl-file-signature の内容が含まれます。内容に含まれるすべての空白は削除されます。


curl-versions (アクセサ)
アクセサ public sealed ComponentMetaData.curl-versions:#{ReadOnlyArray-of VersionNumber}
セッター public sealed ComponentMetaData.curl-versions:#{ReadOnlyArray-of VersionNumber}

コンポーネントに対応する Curl バージョンのリスト。

説明

これは、ソース ファイルでコンポーネントに使用される curl 式から自動的に取得されます。


debuggable? (アクセサ)
アクセサ public sealed inline ComponentMetaData.debuggable?:bool
セッター public sealed ComponentMetaData.debuggable?:bool

コンポーネントがデバック可能であるかどうかを示します。既定は false です。

説明

Package に対してコンパイラで自動的に設定されます。


default-locale (アクセサ)
アクセサ public sealed ComponentMetaData.default-locale:#String
セッター public sealed ComponentMetaData.default-locale:#String

コンポーネントの既定のロケールです。

説明

リソースのロケーションに関する既定のロケールを判別するために、applet または package 宣言で指定されます。 find-resourceを参照して、これがどのように使われるかご覧ください。
導入: バージョン 6.0


file (アクセサ)
アクセサ public sealed ComponentMetaData.file:#String
セッター public sealed ComponentMetaData.file:#String

リソースの抽象的なファイル名です。

説明

リソースの抽象的な名前がマニフェストにリストされています。 これは、マニフェストにリストされているリソースの component 宣言に設定されており、 find-resource や関連する次のシンタックスで使用されます。 (resource-urllocalize-url 、または host-localize-url
導入: バージョン 6.0


file-format (アクセサ)
アクセサ public sealed inline ComponentMetaData.file-format:#String
セッター public sealed ComponentMetaData.file-format:#String

コンポーネントのファイル形式。

説明

これは Curl のコンポーネント用に自動的に生成されます。可能な値:



files (アクセサ)
アクセサ public sealed ComponentMetaData.files:#{ReadOnlyArray-of String}
セッター public sealed ComponentMetaData.files:#{ReadOnlyArray-of String}

コンポーネントに含まれるファイル名のリスト。



frozen? (フィールド)
public-get hidden-set ComponentMetaData.frozen?:bool

オブジェクトが "フリーズ" されているかどうかを示します。

説明

メタデータ オブジェクトがフリーズしているときにメタデータの値を変更しようとするとエラーになります。


id (アクセサ)
アクセサ public sealed inline ComponentMetaData.id:#ComponentID
セッター public sealed ComponentMetaData.id:#ComponentID

コンポーネントの一意の識別子。

説明

Package については、ソース コードの内容に基づいてコンパイラで自動的に生成されます。


jit-compilable? (アクセサ)
アクセサ public sealed inline ComponentMetaData.jit-compilable?:bool
セッター public sealed ComponentMetaData.jit-compilable?:bool

コンポーネントが JIT コンパイルを許容するかどうかを示します。既定は true です。



jit-compiled? (アクセサ)
アクセサ public sealed inline ComponentMetaData.jit-compiled?:bool
セッター public sealed ComponentMetaData.jit-compiled?:bool

コンポーネントが JIT でコンパイルされたかどうかどうかを示します。既定は true です。

説明

これはコンパイラによって自動的に設定されます。


license (アクセサ)
アクセサ public sealed ComponentMetaData.license:#String
セッター public sealed ComponentMetaData.license:#String
この項目はサポートされていません。内部使用限定となっています。


locale (アクセサ)
アクセサ public sealed ComponentMetaData.locale:#String
セッター public sealed ComponentMetaData.locale:#String

コンポーネントのロケールを識別します。

説明

アプレットまたはスクリプトなどの実行可能コンポーネントでは、プログラムの初期の有効なロケールを決定するのにこれを使います。set-working-locale を参照してください。
パッケージやマニフェストなどのその他の種類のコンポーネントでは、この属性を指定しても有効なロケールには反映されませんが、コンポーネントに使用するロケールを指定するためにこれを使うことができます。
この属性の特別な一致規則については、ComponentMetaData.matches? も参照してください。


manifest (アクセサ)
アクセサ public sealed ComponentMetaData.manifest:#String
セッター public sealed ComponentMetaData.manifest:#String

このコンポーネントに関連つけられたマニフェストの場所。

説明

このコンポーネントに関連付けられたマニフェストが存在すればその場所。絶対 URL 文字列でなければなりません。
アプレットとスクリプトの場合、get-default-manifest により返される既定のマニフェストの場所をこれで識別します。
パッケージの場合、明示的な場所の指定とともにパッケージがインポートされていて、インポート側のコードが使用するマニフェストではこのパッケージのエントリを見つけられない場合に、既定のマニフェストを探す目的のみでこれを使います。
注意 : コンポーネント宣言で対応するキーワード (applet など) を設定した結果としてこの値が得られた場合、文字列の値はメインファイルを基準とする相対パスの可能性があると解釈されます。
{curl 8.0 applet}
{applet
    manifest = "my-manifest.mcurl"
}
{assert {abs-url? {non-null {this-package}.meta-data.manifest}}}

次の例では、アプレットはマニフェストを使用せず、B の場所を明示的に指定してこれをインポートしていますが、パッケージ B のマニフェスト宣言により、このマニフェストを使ってパッケージ A を見つけることができます。B のエントリを含む別のマニフェストをこのアプレットが宣言した場合は、B のマニフェスト宣言は無視されます。
|| manifest.mcurl
{curl 8.0 manifest}
{component package A, location = "a.scurl"}
{component package B, location = "b.scurl"}
|| a.scurl
{curl 8.0 package}
{package A, manifest = "manifest.mcurl"}
...
|| b.scurl
{curl 8.0 package}
{package B, manifest = "manifest.mcurl"}
{import A} || no explicit location given
...
|| applet.curl
{curl 8.0 applet}
{import B, location = "b.scurl"}
...


name (アクセサ)
アクセサ public sealed inline ComponentMetaData.name:#String
セッター public sealed ComponentMetaData.name:#String

コンポーネントの名前。

説明

これは、コンポーネントが定義されたときに使用された名前です。


origin-url-names (アクセサ)
アクセサ public sealed ComponentMetaData.origin-url-names:#ReadOnlyStringArray
セッター public sealed ComponentMetaData.origin-url-names:#ReadOnlyStringArray

このコンポーネントのソースの可能性がある URL のリスト。

説明

コンポーネントがロードされた実際の source-url-name が含まれますが、同一のコンポーネントがロードされたその他の場所もリストに含まれている可能性があります。

フリーズされたメタデータ オブジェクトのこの属性にアクセスできるのは特権プロセスに限られています。それ以外の場合は null が返されます。

パッケージの場合、これはコンパイル時に自動的に設定されます。


package-caching-style (アクセサ)
アクセサ public sealed ComponentMetaData.package-caching-style:#String
セッター public sealed ComponentMetaData.package-caching-style:#String

このコンポーネントのパッケージのキャッシング スタイル。

説明

この属性はアプレットやスクリプトのような、実行可能なコンポーネントのみに適用します。 これは、パーシスタントパッケージキャッシングがプログラムでどのように利用されるかを指定します。

パーシスタント パッケージ キャッシング (Curl API バージョン 3.0 で導入) は、パッケージを持続的にディスクにキャッシュして、後に続くセッションで敏速にロードできるようにします。

キャッシングは Curl コントロールパネルの一般タブで無効にすることができます。既定では有効になっています。

有効な値:

"lazy" (既定)
新しいキャッシュが遅れてバックグラウンドで保存されている間、以前に保存されたキャッシュを使用することができます。これは、ほとんどのアプレットで最も良いキャッシングの方法であり、アプリケーションが終了するまでに全てのパッケージをキャッシュすることができます。
"on-import"
パッケージは常に使用する直前に追加されます。結果として、パッケージがまだキャッシュされていない場合は、初期の起動に時間がかかることになります。
"read-only"
以前に保存したキャッシュを使用することはできますが、新しいキャッシュを追加することはできません。
"none"
パーシスタントパッケージ キャッシュの使用を無効にします。


既定値以外の設定をする場合は、applet (または script) 宣言で設定します。

例:

{curl 8.0 applet}
{applet 
    || Disable persistent package caching.
    package-caching-style = "none"
}

プログラミング注意事項



release-notes (アクセサ)
アクセサ public sealed ComponentMetaData.release-notes:#String
セッター public sealed ComponentMetaData.release-notes:#String

このコンポーネントのリリースノート。



release-timestamp (アクセサ)
アクセサ public sealed ComponentMetaData.release-timestamp:#DateTimeData
セッター public sealed ComponentMetaData.release-timestamp:#DateTimeData

コンポーネント リリースの日時



requires-privilege? (アクセサ)
アクセサ public final ComponentMetaData.requires-privilege?:bool
セッター public final ComponentMetaData.requires-privilege?:bool

コンポーネントを使用するために特権が必要かどうか。

説明

package 宣言が true に設定される場合、これは現在のプロセス (たとえば、アプレットまたはスクリプトなど) に特権が与えられていないときにパッケージがインポートされることを防ぎます。間接的で特権がないインポートも許可されません。


resource-directory (アクセサ)
アクセサ public sealed ComponentMetaData.resource-directory:#String
セッター public sealed ComponentMetaData.resource-directory:#String

コンポーネントのリソースがあるルート ディレクトリを指定します。

説明

これは、コンポーネントの翻訳ファイルの名前を指定するのにpackageapplet宣言で使用されます。 詳細な使用法は、find-resource と 翻訳ファイルの指定 を参照してください。
導入: バージョン 6.0


resync-adjust? (アクセサ)
アクセサ public sealed ComponentMetaData.resync-adjust?:bool
セッター public sealed ComponentMetaData.resync-adjust?:bool

resync-file から同期する日時を調節するかどうか。

説明

メタデータの中で resync-file 宣言のあるアプレットやスクリプトが指定されている場合、ローカルとサーバーとの時間のずれを調節するかどうか決めます。HTTP ファイルのみに影響します。詳細は process-resync-as-of を参照して下さい。
既定は true です。
導入: バージョン 7.0


resync-as-of (アクセサ)
アクセサ public sealed ComponentMetaData.resync-as-of:#DateTimeData
セッター public sealed ComponentMetaData.resync-as-of:#DateTimeData

コンポーネントの再同期の時刻。

説明

アプレット、スクリプトまたはマニフェストのメタデータで指定する場合、この属性を process-resync-as-of 値の設定に使うことができます。このプロシージャは、アプレットまたはスクリプトによってロードされたファイルやコンポーネントを指定時刻に強制的に同期するものです。
applet または script 宣言で設定する場合、次のような utc-date-time の構文が通常使われます。
{applet
    resync-as-of = {utc-date-time "2003-10-11"}
}
applet 宣言の説明にある使用例を参照してください。
resync-file も参照してください。


resync-file (アクセサ)
アクセサ public sealed ComponentMetaData.resync-file:#String
セッター public sealed ComponentMetaData.resync-file:#String

指定したファイルからコンポーネントの再同期する時間を設定します。

説明

appletscript のメタデータの中でこれが指定されている時、指定された URL のファイルの when-last-modified の時間が process-resync-as-of に渡される時間となります。
このセッターを使って値を設定する時、値は絶対 URL でなければなりません。そうでない場合例外がスローされます。appletscript 宣言の中で設定する時、相対パスが使用でき、空文字はメインアプレットやスクリプトのロードファイルを省略した形です。
resync-fileresync-adjust? も参照して下さい。
導入: バージョン 7.0


SHA-1-digest (アクセサ)
アクセサ public sealed ComponentMetaData.SHA-1-digest:#SHA-1-Digest
セッター public sealed ComponentMetaData.SHA-1-digest:#SHA-1-Digest

ファイルの SHA-1 ダイジェスト。

説明

指定された位置におけるファイルの SHA-1 ダイジェスト (コンポーネントは必要なし) (ComponentSelector.location-hints を参照)。
設定されていない場合、null を返します。
ComponentManifest.SHA-1-digest-for-location も参照してください。


source-url (アクセサ)
アクセサ public final ComponentMetaData.source-url:#Url

ComponentMetaData.source-url-name から Url を作成します。

戻り値

絶対 URL、または source-url-name が null の場合は null

説明

source-url-name が絶対名でない場合はエラーを生成します。


source-url-name (アクセサ)
アクセサ public sealed ComponentMetaData.source-url-name:#String
セッター public sealed ComponentMetaData.source-url-name:#String

コンポーネントのコンパイル元であるソースの絶対 URL を含む文字列。

説明

これはコンパイル時に自動的に設定されます。


transitive-id (アクセサ)
アクセサ public sealed inline ComponentMetaData.transitive-id:#ComponentID
セッター public sealed ComponentMetaData.transitive-id:#ComponentID

依存関係を含むコンポーネントの一意の id。

説明

遷移識別子はローカル ComponentMetaData.id およびコンポーネントによって直接または間接的にインポートされたすべてのパッケージの id から計算されます。


translations-file (アクセサ)
アクセサ public sealed ComponentMetaData.translations-file:#String
セッター public sealed ComponentMetaData.translations-file:#String

コンポーネントの翻訳ファイルの名前を指定します。

説明

これは、コンポーネントの翻訳ファイルの名前を指定するのに packageapplet 宣言で使用されます。 詳細な使用法は、find-resource翻訳ファイルの指定 を参照してください。
導入: バージョン 6.0


version (アクセサ)
アクセサ public sealed inline ComponentMetaData.version:#VersionNumber
セッター public sealed ComponentMetaData.version:#VersionNumber

コンポーネントのバージョン。

説明

ComponentMetaData.matches? を使用して比較する場合、バージョン番号は簡単な同等比較の代わりに VersionNumber.partial-match? メソッドを使用します。したがって、バージョン番号 "1.3" は "1.3" で始まるすべてのバージョン番号に一致します。

この属性は ExtendedVersionNumber の値も保持することができ、これを拡張された一致で使用できます。たとえば "1.2.3+" は、"1.2.n" のフォームを持つバージョンで n が 3 以上であれば一致になります。




クラス プロシージャ詳細
supported-value-type? (クラスプロシージャ)
public {ComponentMetaData.supported-value-type? type:Type}:bool

type をメタデータの値として使用できるかどうかを示します。

説明

メタデータの値としてサポートされているデータ型は次のとおりです。



これは ComponentMetaData.set によって呼び出されます。



メソッド詳細
assert-match (メソッド)
public sealed {ComponentMetaData.assert-match component:Component}:void

メタデータが component のメタデータと一致しない場合は ComponentMismatchError をスローします。



assert-not-frozen (メソッド)
protected final {ComponentMetaData.assert-not-frozen}:void

コンポーネントがフリーズしていないことを示します。

説明

オブジェクト上で任意の変更操作を開始する前にこれを呼び出す必要があります。


clone (メソッド)
public sealed inline {ComponentMetaData.clone
deep-copy?:bool = false
}:ComponentMetaData

オブジェクトのコピーを返します。

説明

コピーはフリーズされません。


freeze (メソッド)
public sealed inline {ComponentMetaData.freeze}:void

メタデータが変更できないようにこれをフリーズします。

説明

ComponentMetaData.frozen? を true に設定します。


get (メソッド)
public sealed {ComponentMetaData.get key:String}:any

指定した key に対するメタデータの値を取得します。

key: メタデータ アイテムの名前。値を設定する目的で以前に使用されたキーと一致する必要があります。

戻り値

key と関連している値を戻すか、KeyNotFoundException をスローします。


get-if-exists (メソッド)
public sealed {ComponentMetaData.get-if-exists
key:String
}:(value:any, found?:bool)

指定した key に対するメタデータの値を取得します。

key: メタデータ アイテムの名前、および要求するアイテムが見つかったかどうかを示すフラグ。値を設定する目的で以前に使用されたキーと一致する必要があります。

戻り値

key または default に関連付けられている値を返します。

また、要素が見つかったかどうかを示すブール値を返します。


keys-to-Iterator (メソッド)
public sealed inline {ComponentMetaData.keys-to-Iterator
}:{Iterator-of String}

メタデータ内のキーの反復子を返します。

説明

値が設定されているキーのみ返します。

これにより、次に示すようにメタデータ オブジェクトをキー付きの for ループで使用できるようになります。

{for value:any key keyword:String in meta-data do
    ...
}


matches? (メソッド)
public sealed {ComponentMetaData.matches?}:(match?:bool, first-non-match:#String)

other が現在のオブジェクトの属性に一致するかどうかを示します。

戻り値

一致したかどうかを示す bool、および一致しない最初のメタデータの値の名前。

説明

現在のオブジェクトで設定されている各メタデータの値について、other 内の対応する要素が同じ値を持つ場合、other は一致しているとみなされます。
VersionNumber 型の値の場合、単純な同等比較の代わりに VersionNumber.partial-match? メソッドが使われます。
{ReadOnlyArray-of VersionNumber} 型の値の場合、VersionNumber.partial-match? メソッドを使って、このオブジェクトの配列内の各バージョン番号が other の配列内の 1 つに部分的に一致するかどうかを検証します。
その他の型の ReadOnlyArray-of 値の場合は、単に ReadOnlyArray-of.equal? を使用します。
curl-api-version の場合は特例になります。これが other オブジェクトで定義されていない場合、other メタデータの curl-versions リスト内で一致するバージョン番号が見つかれば一致であるとみなされます。
"locale" 属性の場合も別の特例になります。完全一致のほかに、other オブジェクトのロケール属性が、存在しないか、null、値 "default"、あるいはロケール文字列で最初の('.')、('-')、 または ('@') までの部分と同じであれば、ロケール文字列は一致したとみなされます。 たとえばロケール文字列 "en-US.UTF-8" は、"en-US.UTF-8"、"en-US.UTF"、"en-US"、"en"、"default" または値なしと一致することになります。ロケールが一致の優先順位に与える影響については、ComponentSelector.compare も参照してください。


set (メソッド)
public sealed {ComponentMetaData.set key:String, value:any}:void

キーのメタデータの値を設定します。

説明

ComponentMetaData.frozen? が True または {ComponentMetaData.supported-value-type? {param value}} が false の場合は失敗します。

null 値に設定するのは、ComponentMetaData.unset を呼び出すのと同じことです。


set-meta-data (メソッド)
protected sealed {ComponentMetaData.set-meta-data ...}:void

メタデータを設定します。

説明

これはコンストラクタ用です。詳細は ComponentMetaData.default を参照してください。


set? (メソッド)
public sealed {ComponentMetaData.set? key:String}:bool

key の値が設定されているかどうかを示します。



unset (メソッド)
public sealed inline {ComponentMetaData.unset key:String}:void

key の既存の値の設定を解除します。

説明

key がオプションを識別する場合はその既定値に戻ります。値が以前に設定されていなくてもエラーは生成されません。ただし、ComponentMetaData.frozen? が true の場合はエラーになります。