Class FileAttributeMatcher

java.lang.Object
org.javagi.base.ProxyInstance
org.gnome.gio.FileAttributeMatcher
All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class FileAttributeMatcher extends ProxyInstance
Determines if a string matches a file attribute.
  • Constructor Details

    • FileAttributeMatcher

      public FileAttributeMatcher(MemorySegment address)
      Create a FileAttributeMatcher proxy instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • FileAttributeMatcher

      public FileAttributeMatcher(String attributes)

      Creates a new file attribute matcher, which matches attributes against a given string. FileAttributeMatcher are reference counted structures, and are created with a reference count of 1. If the number of references falls to 0, the FileAttributeMatcher is automatically destroyed.

      The attributes string should be formatted with specific keys separated from namespaces with a double colon. Several "namespace::key" strings may be concatenated with a single comma (e.g. "standard::type,standard::is-hidden"). The wildcard "*" may be used to match all keys and namespaces, or "namespace::*" will match all keys in a given namespace.

      Examples of file attribute matcher strings and results
      • "*": matches all attributes.
      • "standard::is-hidden": matches only the key is-hidden in the standard namespace.
      • "standard::type,unix::*": matches the type key in the standard namespace and all keys in the unix namespace.
      Parameters:
      attributes - an attribute string to match.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the FileAttributeMatcher class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • enumerateNamespace

      public boolean enumerateNamespace(String ns)

      Checks if the matcher will match all of the keys in a given namespace. This will always return true if a wildcard character is in use (e.g. if matcher was created with "standard::\" and ns is "standard", or if matcher was created using "" and namespace is anything.)

      TODO: this is awkwardly worded.

      Parameters:
      ns - a string containing a file attribute namespace.
      Returns:
      true if the matcher matches all of the entries in the given ns, false otherwise.
    • enumerateNext

      public @Nullable String enumerateNext()
      Gets the next matched attribute from a GFileAttributeMatcher.
      Returns:
      a string containing the next attribute or, null if no more attribute exist.
    • matches

      public boolean matches(String attribute)
      Checks if an attribute will be matched by an attribute matcher. If the matcher was created with the "*" matching string, this function will always return true.
      Parameters:
      attribute - a file attribute key.
      Returns:
      true if attribute matches matcher. false otherwise.
    • matchesOnly

      public boolean matchesOnly(String attribute)
      Checks if an attribute matcher only matches a given attribute. Always returns false if "*" was used when creating the matcher.
      Parameters:
      attribute - a file attribute key.
      Returns:
      true if the matcher only matches attribute. false otherwise.
    • ref

      public FileAttributeMatcher ref()
      References a file attribute matcher.
      Returns:
      a GFileAttributeMatcher.
    • subtract

      public @Nullable FileAttributeMatcher subtract(@Nullable FileAttributeMatcher subtract)

      Subtracts all attributes of subtract from this FileAttributeMatcher and returns a matcher that supports those attributes.

      Note that currently it is not possible to remove a single attribute when the this FileAttributeMatcher matches the whole namespace - or remove a namespace or attribute when the matcher matches everything. This is a limitation of the current implementation, but may be fixed in the future.

      Parameters:
      subtract - The matcher to subtract
      Returns:
      A file attribute matcher matching all attributes of this FileAttributeMatcher that are not matched by subtract
    • toString

      public String toString()
      Prints what the matcher is matching against. The format will be equal to the format passed to g_file_attribute_matcher_new(). The output however, might not be identical, as the matcher may decide to use a different order or omit needless parts.
      Overrides:
      toString in class Object
      Returns:
      a string describing the attributes the matcher matches against or null if this FileAttributeMatcher was null.
      Since:
      2.32
    • unref

      public void unref()
      Unreferences matcher. If the reference count falls below 1, the this FileAttributeMatcher is automatically freed.