Package com.sun.jna.platform.linux

# Class XAttrUtil

java.lang.Object
com.sun.jna.platform.linux.XAttrUtil

public abstract class XAttrUtil extends Object
Utility functions class for handling file extended attributes on Linux.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `fGetXAttr(int fd, String name)`
  Get extended attribute value.
  `static String`
  `fGetXAttr(int fd, String name, String encoding)`
  Get extended attribute value.
  `static Memory`
  `fGetXAttrAsMemory(int fd, String name)`
  Get extended attribute value.
  `static byte[]`
  `fGetXAttrBytes(int fd, String name)`
  Get extended attribute value.
  `static Collection<String>`
  `fListXAttr(int fd)`
  List extended attributes on file.
  `static Collection<String>`
  `fListXAttr(int fd, String encoding)`
  List extended attributes on file.
  `static void`
  `fRemoveXAttr(int fd, String name)`
  Remove extended attribute from file.
  `static void`
  `fSetXAttr(int fd, String name, byte[] value)`
  Set or replace value of extended attribute.
  `static void`
  `fSetXAttr(int fd, String name, String value)`
  Set or replace value of extended attribute.
  `static void`
  `fSetXAttr(int fd, String name, String value, String encoding)`
  Set or replace value of extended attribute.
  `static String`
  `getXAttr(String path, String name)`
  Get extended attribute value.
  `static String`
  `getXAttr(String path, String name, String encoding)`
  Get extended attribute value.
  `static Memory`
  `getXAttrAsMemory(String path, String name)`
  Get extended attribute value.
  `static byte[]`
  `getXAttrBytes(String path, String name)`
  Get extended attribute value.
  `static String`
  `lGetXAttr(String path, String name)`
  Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
  `static String`
  `lGetXAttr(String path, String name, String encoding)`
  Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
  `static Memory`
  `lGetXAttrAsMemory(String path, String name)`
  Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
  `static byte[]`
  `lGetXAttrBytes(String path, String name)`
  Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
  `static Collection<String>`
  `listXAttr(String path)`
  List extended attributes on file.
  `static Collection<String>`
  `listXAttr(String path, String encoding)`
  List extended attributes on file.
  `static Collection<String>`
  `lListXAttr(String path)`
  List extended attributes on file but in case of symbolic link get extended attributes of the link itself instead of linked file.
  `static Collection<String>`
  `lListXAttr(String path, String encoding)`
  List extended attributes on file but in case of symbolic link get extended attributes of the link itself instead of linked file.
  `static void`
  `lRemoveXAttr(String path, String name)`
  Remove extended attribute from file but in case of symbolic link remove extended attribute from the link itself instead of linked file.
  `static void`
  `lSetXAttr(String path, String name, byte[] value)`
  Set or replace value of extended attribute but in case of symbolic link set the extended attribute on the link itself instead linked file.
  `static void`
  `lSetXAttr(String path, String name, String value)`
  Set or replace value of extended attribute but in case of symbolic link set the extended attribute on the link itself instead linked file.
  `static void`
  `lSetXAttr(String path, String name, String value, String encoding)`
  Set or replace value of extended attribute but in case of symbolic link set the extended attribute on the link itself instead linked file.
  `static void`
  `removeXAttr(String path, String name)`
  Remove extended attribute from file.
  `static void`
  `setXAttr(String path, String name, byte[] value)`
  Set or replace value of extended attribute.
  `static void`
  `setXAttr(String path, String name, String value)`
  Set or replace value of extended attribute.
  `static void`
  `setXAttr(String path, String name, String value, String encoding)`
  Set or replace value of extended attribute.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### setXAttr

    public static void setXAttr(String path, String name, String value) throws IOException
    Set or replace value of extended attribute.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `value` - value to set
    Throws:
      `IOException` - on any error

  - ### setXAttr

    public static void setXAttr(String path, String name, String value, String encoding) throws IOException
    Set or replace value of extended attribute.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `value` - value to set
      `encoding` - character encoding to be used for stored value
    Throws:
      `IOException` - on any error

  - ### setXAttr

    public static void setXAttr(String path, String name, byte[] value) throws IOException
    Set or replace value of extended attribute.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `value` - value to set
    Throws:
      `IOException` - on any error

  - ### lSetXAttr

    public static void lSetXAttr(String path, String name, String value) throws IOException
    Set or replace value of extended attribute but in case of symbolic link set the extended attribute on the link itself instead linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `value` - value to set
    Throws:
      `IOException` - on any error

  - ### lSetXAttr

    public static void lSetXAttr(String path, String name, String value, String encoding) throws IOException
    Set or replace value of extended attribute but in case of symbolic link set the extended attribute on the link itself instead linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `value` - value to set
      `encoding` - character encoding to be used for stored value
    Throws:
      `IOException` - on any error

  - ### lSetXAttr

    public static void lSetXAttr(String path, String name, byte[] value) throws IOException
    Set or replace value of extended attribute but in case of symbolic link set the extended attribute on the link itself instead linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `value` - value to set
    Throws:
      `IOException` - on any error

  - ### fSetXAttr

    public static void fSetXAttr(int fd, String name, String value) throws IOException
    Set or replace value of extended attribute.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
      `value` - value to set
    Throws:
      `IOException` - on any error

  - ### fSetXAttr

    public static void fSetXAttr(int fd, String name, String value, String encoding) throws IOException
    Set or replace value of extended attribute.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
      `value` - value to set
      `encoding` - character encoding to be used for stored value
    Throws:
      `IOException` - on any error

  - ### fSetXAttr

    public static void fSetXAttr(int fd, String name, byte[] value) throws IOException
    Set or replace value of extended attribute.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
      `value` - value to set
    Throws:
      `IOException` - on any error

  - ### getXAttr

    public static String getXAttr(String path, String name) throws IOException
    Get extended attribute value.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### getXAttr

    public static String getXAttr(String path, String name, String encoding) throws IOException
    Get extended attribute value.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `encoding` - character encoding to be used to decode stored extended attribute value
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### getXAttrBytes

    public static byte[] getXAttrBytes(String path, String name) throws IOException
    Get extended attribute value.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### getXAttrAsMemory

    public static Memory getXAttrAsMemory(String path, String name) throws IOException
    Get extended attribute value.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### lGetXAttr

    public static String lGetXAttr(String path, String name) throws IOException
    Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### lGetXAttr

    public static String lGetXAttr(String path, String name, String encoding) throws IOException
    Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
      `encoding` - character encoding to be used to decode stored extended attribute value
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### lGetXAttrBytes

    public static byte[] lGetXAttrBytes(String path, String name) throws IOException
    Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### lGetXAttrAsMemory

    public static Memory lGetXAttrAsMemory(String path, String name) throws IOException
    Get extended attribute value but in case of symbolic link get the value from the link itself instead of linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### fGetXAttr

    public static String fGetXAttr(int fd, String name) throws IOException
    Get extended attribute value.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### fGetXAttr

    public static String fGetXAttr(int fd, String name, String encoding) throws IOException
    Get extended attribute value.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
      `encoding` - character encoding to be used to decode stored extended attribute value
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### fGetXAttrBytes

    public static byte[] fGetXAttrBytes(int fd, String name) throws IOException
    Get extended attribute value.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### fGetXAttrAsMemory

    public static Memory fGetXAttrAsMemory(int fd, String name) throws IOException
    Get extended attribute value.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
    Returns:
      extended attribute value
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### listXAttr

    public static Collection<String> listXAttr(String path) throws IOException
    List extended attributes on file.
    Parameters:
      `path` - file path
    Returns:
      collection of extended attributes' names
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### listXAttr

    public static Collection<String> listXAttr(String path, String encoding) throws IOException
    List extended attributes on file.
    Parameters:
      `path` - file path
      `encoding` - character encoding use to decode extended attributes' names
    Returns:
      collection of extended attributes' names
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### lListXAttr

    public static Collection<String> lListXAttr(String path) throws IOException
    List extended attributes on file but in case of symbolic link get extended attributes of the link itself instead of linked file.
    Parameters:
      `path` - file path
    Returns:
      collection of extended attributes' names
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### lListXAttr

    public static Collection<String> lListXAttr(String path, String encoding) throws IOException
    List extended attributes on file but in case of symbolic link get extended attributes of the link itself instead of linked file.
    Parameters:
      `path` - file path
      `encoding` - character encoding use to decode extended attributes' names
    Returns:
      collection of extended attributes' names
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### fListXAttr

    public static Collection<String> fListXAttr(int fd) throws IOException
    List extended attributes on file.
    Parameters:
      `fd` - file handle
    Returns:
      collection of extended attributes' names
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### fListXAttr

    public static Collection<String> fListXAttr(int fd, String encoding) throws IOException
    List extended attributes on file.
    Parameters:
      `fd` - file handle
      `encoding` - character encoding use to decode extended attributes' names
    Returns:
      collection of extended attributes' names
    Throws:
      `IOException` - on any error except `ERANGE` which handled internally

  - ### removeXAttr

    public static void removeXAttr(String path, String name) throws IOException
    Remove extended attribute from file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Throws:
      `IOException` - on any error

  - ### lRemoveXAttr

    public static void lRemoveXAttr(String path, String name) throws IOException
    Remove extended attribute from file but in case of symbolic link remove extended attribute from the link itself instead of linked file.
    Parameters:
      `path` - file path
      `name` - extended attribute name
    Throws:
      `IOException` - on any error

  - ### fRemoveXAttr

    public static void fRemoveXAttr(int fd, String name) throws IOException
    Remove extended attribute from file.
    Parameters:
      `fd` - file handle
      `name` - extended attribute name
    Throws:
      `IOException` - on any error