IAclFileAttributeView インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ファイルのAccess Control Lists (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
- 属性
- 実装
注釈
ファイルのAccess Control Lists (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@
" です。 と の AclFileAttributeView
両方が PosixFileAttributeView
サポートされている場合は、これらの特殊なユーザー ID を読み取りまたは書き込みされる ACL AclEntry entries
に含めることができます。 ファイル システムの UserPrincipalLookupService
を使用して、 メソッドを呼び出すことによって、これらの特殊な ID を表す を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"<>キャプション style="display:none">Supported attributes</キャプション><thead><tr<>th scope="col"> Name </th><th scope="col"> Type </th></tr<>/thead><tbody><Tr><th scope="row"> "acl" </th><td>List
<AclEntry
> </td></tr><th><scope="row"> "owner" </th><td<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 は、 や Files#createFile createFile
Files#createDirectory createDirectory
などFileAttribute
、オブジェクトのAclEntry
一覧である と FileAttribute#name name
"acl:acl"
FileAttribute#value value
のメソッドに提供できます。
実装で NFSv4 定義 ACL モデルとは異なる ACL モデルがサポートされている場合は、ファイルの作成時に初期 ACL を設定して、ACL をファイル システムでサポートされるモデルに変換する必要があります。 ファイルを作成するメソッドでは、変換の結果として安全性が低いファイルを作成しようとすると、(をスロー IOException IOException
することによって) 拒否する必要があります。
1.7 で追加されました。
の Java ドキュメント java.nio.file.attribute.AclFileAttributeView
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
Acl |
ファイルのAccess Control Lists (ACL) 属性またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 |
Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
JniIdentityHashCode |
ラップされたインスタンスの の |
JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
Owner |
ファイルのAccess Control Lists (ACL) 属性またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 (継承元 IFileOwnerAttributeView) |
PeerReference |
JniObjectReferenceラップされた Java オブジェクト インスタンスの を返します。 (継承元 IJavaPeerable) |
メソッド
Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 を呼び出 |
Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
Name() |
属性ビューの名前を返します。 |
SetJniIdentityHashCode(Int32) |
によって返される値を |
SetJniManagedPeerState(JniManagedPeerStates) |
ファイルのAccess Control Lists (ACL) 属性またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 (継承元 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
によって返される値を |
UnregisterFromRuntime() |
ランタイムが将来 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
ファイルのAccess Control Lists (ACL) 属性またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 |
GetJniTypeName(IJavaPeerable) |
ファイルのAccess Control Lists (ACL) 属性またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。 |