Compartir a través de


IAclFileAttributeView Interfaz

Definición

Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (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
Atributos
Implementaciones

Comentarios

Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).

Las ACL se usan para especificar derechos de acceso a objetos del sistema de archivos. Una ACL es una lista ordenada de AclEntry access-control-entries, cada una de las cuales especifica un UserPrincipal y el nivel de acceso para esa entidad de seguridad de usuario. Esta vista de atributo de archivo define los #getAcl() getAclmétodos , y #setAcl(List) setAcl para leer y escribir ACL en función del modelo de ACL especificado en RFC  3530: Protocolohttp://www.ietf.org/rfc/rfc3530.txt 4 del sistema de archivos de red (NFS). Esta vista de atributos de archivo está pensada para implementaciones del sistema de archivos que admiten el modelo de ACL NFSv4 o tienen una <asignación em>bien definida</em> entre el modelo de ACL NFSv4 y el modelo de ACL usado por el sistema de archivos. Los detalles de dicha asignación dependen de la implementación y, por tanto, no se especifican.

Esta clase también se FileOwnerAttributeView extiende para definir métodos para obtener y establecer el propietario del archivo.

Cuando un sistema de archivos proporciona acceso a un conjunto de FileStore file-systems que no son homogéneos, solo algunos de los sistemas de archivos pueden admitir ACL. El FileStore#supportsFileAttributeView supportsFileAttributeView método se puede usar para probar si un sistema de archivos admite ACL.

<h2>Interoperabilidad</h2>

RFC  3530 permite usar identidades de usuario especiales en plataformas que admiten los permisos de acceso definidos por POSIX. Las identidades de usuario especiales son "", "OWNER@GROUP@" y "EVERYONE@". Cuando se admiten las AclFileAttributeView identidades de usuario y PosixFileAttributeView , estas identidades de usuario especiales se pueden incluir en la ACL AclEntry entries que se leen o escriben. El sistema de UserPrincipalLookupService archivos se puede usar para obtener un UserPrincipal para representar estas identidades especiales invocando el UserPrincipalLookupService#lookupPrincipalByName lookupPrincipalByName método .

<b>Ejemplo de uso:</b> Supongamos que queremos agregar una entrada a una ACL existente para conceder acceso "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> Acceso <dinámico /h2>

Cuando se requiere acceso dinámico a los atributos de archivo, los atributos admitidos por esta vista de atributo son los siguientes: <blockquote><table class="striped"<>caption style="display:none">Supported attributes</caption<>thead><tr<>th scope="col"> Name </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/td>><<UserPrincipal/tr<>/tbody<>/table></blockquote>

El Files#getAttribute getAttribute método se puede usar para leer la ACL o los atributos de propietario como si invocara los #getAcl getAcl métodos o #getOwner getOwner .

El Files#setAttribute setAttribute método se puede usar para actualizar la ACL o los atributos de propietario como si invocara los #setAcl setAcl métodos o #setOwner setOwner .

<h2> Establecer la ACL al crear un archivo </h2>

Las implementaciones que admiten esta vista de atributo también pueden admitir la configuración de la ACL inicial al crear un archivo o directorio. La ACL inicial se puede proporcionar a métodos como Files#createFile createFile o Files#createDirectory createDirectory como FileAttribute con FileAttribute#name name"acl:acl" y que FileAttribute#value value es la lista de AclEntry objetos .

Cuando una implementación admite un modelo de ACL que difiere del modelo de ACL definido por NFSv4, el establecimiento de la ACL inicial al crear el archivo debe traducir la ACL al modelo admitido por el sistema de archivos. Los métodos que crean un archivo deben rechazar (iniciando IOException IOException) cualquier intento de crear un archivo que sería menos seguro como resultado de la traducción.

Agregado en la versión 1.7.

Documentación de Java para java.nio.file.attribute.AclFileAttributeView.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Propiedades

Acl

Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).

Handle

Obtiene el valor JNI del objeto Android subyacente.

(Heredado de IJavaObject)
JniIdentityHashCode

Devuelve el valor de java.lang.System.identityHashCode() para la instancia ajustada.

(Heredado de IJavaPeerable)
JniManagedPeerState

Estado del mismo nivel administrado.

(Heredado de IJavaPeerable)
JniPeerMembers

Compatibilidad con la invocación y el acceso de miembros.

(Heredado de IJavaPeerable)
Owner

Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).

(Heredado de IFileOwnerAttributeView)
PeerReference

Devuelve una JniObjectReference de la instancia de objeto Java ajustada.

(Heredado de IJavaPeerable)

Métodos

Disposed()

Se llama cuando se ha eliminado la instancia.

(Heredado de IJavaPeerable)
DisposeUnlessReferenced()

Si no hay referencias pendientes a esta instancia, llama a Dispose(); de lo contrario, no hace nada.

(Heredado de IJavaPeerable)
Finalized()

Se llama cuando se ha finalizado la instancia.

(Heredado de IJavaPeerable)
Name()

Devuelve el nombre de la vista de atributo.

SetJniIdentityHashCode(Int32)

Establezca el valor devuelto por JniIdentityHashCode.

(Heredado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).

(Heredado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Establezca el valor devuelto por PeerReference.

(Heredado de IJavaPeerable)
UnregisterFromRuntime()

Anule el registro de esta instancia para que el entorno de ejecución no lo devuelva de invocaciones futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Heredado de IJavaPeerable)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).

GetJniTypeName(IJavaPeerable)

Vista de atributo de archivo que admite la lectura o actualización de los atributos de propietario de archivos o listas de control de acceso (ACL).

Se aplica a