IAclFileAttributeView インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。
[Android.Runtime.Register("java/nio/file/attribute/AclFileAttributeView", "", "Java.Nio.FileNio.Attributes.IAclFileAttributeViewInvoker", ApiSince=26)]
public interface IAclFileAttributeView : IDisposable, Java.Interop.IJavaPeerable, Java.Nio.FileNio.Attributes.IFileOwnerAttributeView
[<Android.Runtime.Register("java/nio/file/attribute/AclFileAttributeView", "", "Java.Nio.FileNio.Attributes.IAclFileAttributeViewInvoker", ApiSince=26)>]
type IAclFileAttributeView = interface
interface IFileOwnerAttributeView
interface IFileAttributeView
interface IAttributeView
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 属性
- 実装
注釈
ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。
ACL は、ファイル システム オブジェクトへのアクセス権を指定するために使用されます。 ACL は、そのユーザー プリンシパルの AclEntry access-control-entries
アクセス レベルとアクセス UserPrincipal
レベルを指定する順序付きリストです。 このファイル属性ビューは、RFC で指定された ACL モデルに基づいて、ACL の読み取りと書き込みを行う 、および#setAcl(List) setAcl
メソッドを定義#getAcl() getAcl
します。3530: ネットワーク ファイル システム (NFS) バージョン 4 プロトコルhttp://www.ietf.org/rfc/rfc3530.txt。 このファイル属性ビューは、NFSv4 ACL モデルをサポートするか、NFSv4 ACL モデルとファイル システムで使用される ACL モデルの間に明確に定義<された/em> マッピングを持つ<>ファイル システムの実装を対象としています。 このようなマッピングの詳細は実装に依存するため、指定されていません。
このクラスは、ファイル所有者を取得して設定するメソッドを定義するように拡張 FileOwnerAttributeView
されます。
ファイル システムが同種ではない一連の FileStore file-systems
ファイル システムへのアクセスを提供する場合、ACL をサポートできるのは一部のファイル システムのみです。 この FileStore#supportsFileAttributeView supportsFileAttributeView
メソッドは、ファイル システムが ACL をサポートしているかどうかをテストするために使用できます。
<h2>相互運用性</h2>
RFC 3530 では、POSIX で定義されたアクセス許可をサポートするプラットフォームで特別なユーザー ID を使用できます。 特殊なユーザー ID は、""OWNER@
、""GROUP@
、および "EVERYONE@
" です。 サポートされているユーザー ID とPosixFileAttributeView
サポートされているユーザー ID の両方AclFileAttributeView
が、読み取りまたは書き込みの ACL AclEntry entries
に含まれる場合があります。 ファイル システムは、UserPrincipalLookupService
メソッドを呼び出すことによって、これらの特殊な ID を表す a をUserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName
取得UserPrincipal
するために使用できます。
<b>使用例:</b> 既存の ACL にエントリを追加して"joe" アクセスを許可するとします。
// lookup "joe"
UserPrincipal joe = file.getFileSystem().getUserPrincipalLookupService()
.lookupPrincipalByName("joe");
// get view
AclFileAttributeView view = Files.getFileAttributeView(file, AclFileAttributeView.class);
// create ACE to give "joe" read access
AclEntry entry = AclEntry.newBuilder()
.setType(AclEntryType.ALLOW)
.setPrincipal(joe)
.setPermissions(AclEntryPermission.READ_DATA, AclEntryPermission.READ_ATTRIBUTES)
.build();
// read ACL, insert ACE, re-write ACL
List<AclEntry> acl = view.getAcl();
acl.add(0, entry); // insert before any DENY entries
view.setAcl(acl);
<h2> 動的アクセス </h2>
ファイル属性への動的アクセスが必要な場合、この属性ビューでサポートされる属性は次のとおりです<。blockquote<>table class="striped"<>caption style="display:none">Supported attributes</caption<>thead><tr><th scope="col"> Name </th><th scope="col"> Type </th></tr<>/thead<>tbody<>tr><th scope="row"> "acl" </th><td>List
<UserPrincipal
/td></tr></tbody></table></blockquote>
メソッドはFiles#getAttribute getAttribute
、ACL または所有者属性を呼び出#getAcl getAcl
#getOwner getOwner
すかのように読み取るために使用できます。
メソッドをFiles#setAttribute setAttribute
使用して、ACL または所有者の属性を、またはメソッドを呼び出す#setAcl setAcl
#setOwner setOwner
かのように更新できます。
<h2> ファイル <の作成時に ACL を設定する /h2>
この属性ビューをサポートする実装では、ファイルまたはディレクトリの作成時の初期 ACL の設定もサポートされる場合があります。 初期 ACL は、オブジェクトのリストである with や a FileAttribute#value value
などのFiles#createDirectory createDirectory
Files#createFile createFile
FileAttribute#name name
FileAttribute
"acl:acl"
メソッドに提供できます。AclEntry
実装で NFSv4 定義 ACL モデルとは異なる ACL モデルがサポートされている場合、ファイルの作成時に初期 ACL を設定するには、ACL をファイル システムでサポートされているモデルに変換する必要があります。 ファイルを作成するメソッドは、翻訳の結果として安全性が低いファイルを作成しようとしたときに (スロー IOException IOException
することによって) 拒否する必要があります。
1.7 で追加されました。
の Java ドキュメントjava.nio.file.attribute.AclFileAttributeView
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
プロパティ
Acl |
ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 |
Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
JniIdentityHashCode |
ラップされたインスタンスの |
JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
Owner |
ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 (継承元 IFileOwnerAttributeView) |
PeerReference |
ラップされた Java オブジェクト インスタンスの a JniObjectReference を返します。 (継承元 IJavaPeerable) |
メソッド
Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、呼び出 |
Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
Name() |
属性ビューの名前を返します。 |
SetJniIdentityHashCode(Int32) |
によって |
SetJniManagedPeerState(JniManagedPeerStates) |
ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 (継承元 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
によって |
UnregisterFromRuntime() |
ランタイムが将来 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 |
GetJniTypeName(IJavaPeerable) |
ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 |