次の方法で共有


IAclFileAttributeView インターフェイス

定義

ファイルのアクセス制御リスト (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&lt;AclEntry&gt; 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<></td></tr 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 は、オブジェクトのリストである with や a FileAttribute#value value などのFiles#createDirectory createDirectoryFiles#createFile createFileFileAttribute#name nameFileAttribute"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

ラップされたインスタンスの java.lang.System.identityHashCode() 値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
Owner

ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。

(継承元 IFileOwnerAttributeView)
PeerReference

ラップされた Java オブジェクト インスタンスの a JniObjectReference を返します。

(継承元 IJavaPeerable)

メソッド

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、呼び出 Dispose()します。それ以外の場合は何も行いません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
Name()

属性ビューの名前を返します。

SetJniIdentityHashCode(Int32)

によって JniIdentityHashCode返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

によって PeerReference返される値を設定します。

(継承元 IJavaPeerable)
UnregisterFromRuntime()

ランタイムが将来 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。

GetJniTypeName(IJavaPeerable)

ファイルのアクセス制御リスト (ACL) またはファイル所有者属性の読み取りまたは更新をサポートするファイル属性ビュー。

適用対象