<% Include("/hsphere/local/home/terraint/common.phps");%> Jakarta Slide -- Java WebDAV -- - Lock Helper
The Jakarta Project The Jakarta Slide Project

Jakarta Slide

リソース

ユーザガイド

管理者ガイド

HOW-TO

プログラミング

Slide API

リファレンス

日本語訳 (Translations)

オリジナル

概要

ロック機能は、Slideの必須部分の一つです。これのモデルは、セキュリティモデルに、多くの点で似ています。 サブジェクト(つまり、ユーザ)がサブジェクト(つまりファイル)をロックしたい場合、 どのアクションが(つまり、read)がロックされ、どのくらいの時間ロックされるか、を明記します。

Slide は、全てのアクションの前に、サブジェクトがロックされているかどうかを自動的にチェックします。 あるいは、特定のサブジェクトがロックされているか、あるいはそのサブジェクトをクライアントのアプリケーションがロック可能かどうか、を、アプリケーションが直接チェックします。

原則

SubjectNodeは全てロックされる可能性があります。 ロックは、以下の情報の組(tuple)で成り立っています:


(target subject,      owner subject,    locked action,   duration,    inheritance)

以下、ロックのサンプルです:


(/foo/document.txt,  /user/dave,        /actions/read,     10m,       no)

(/foo/document.txt,  /user/dave,        /actions/write,    10m,       no)

(/foo,               /user/john,        /actions/read,     5m,        yes)

パーミッションと同じように、オブジェクトで承認されたロックは子オブジェクトに継承されます(指定されなければ、さもなくばロック中でなければ)。例えば、URIが/fooであるオブジェクトに適用されたロックは/foo/barオブジェクトにも適用されます。

振る舞い

Slide は、クライアントアプリケーションから使われるヘルパ機能の使用を通じて、自動的に全てのロックを実行します。 サブジェクト(つまりファイル)がアクセスされ、そのアクションが別のサブジェクト(つまり、別のクライアント)から既に ロックされていれば、ObjectLockedException例外が投げられます。この例外は、チェック用の例外であり、これによって、 クライアントアプリケーションが潜在的なロック・チェックの失敗を知り、適切な対応を取れるようになります。

オブジェクトモデル
NodeLock

NodeLockクラスはロックを表します。

  • Id: Lock Id (一意).
  • Object: ロックに関連したノードのURI
  • Subject: Lockのowner
  • Type: ロックされるアクション(アクションを実行するには、ロックIDはSlideTokenで表現されていなければならない)
  • Exclusive: 排他ロックであればTrue --- 多くのの排他的ではないロックは、同一アクション(type)用に同一ノードに適用されます
  • Inheritable: 関連したノードの子にもロックが適用される場合はTrue


Copyright © 1999-2005, Apache Software Foundation
Translated into Japanese by Tetsuya Kitahata, powered by Terra-International Inc.
<% orig();%>