Class FileAttributeMatcher

All Implemented Interfaces:
PointerInterface

public class FileAttributeMatcher extends Record
Determines if a string matches a file attribute.

https://docs.gtk.org/gio/struct.FileAttributeMatcher.html

  • Constructor Details

    • FileAttributeMatcher

      public FileAttributeMatcher(PointerContainer pointer)
    • FileAttributeMatcher

      public FileAttributeMatcher(@Nonnull Str attributes)
      Creates a new file attribute matcher, which matches attributes
      against a given string. #GFileAttributeMatchers are reference
      counted structures, and are created with a reference count of 1. If
      the number of references falls to 0, the #GFileAttributeMatcher 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.
    • FileAttributeMatcher

      public FileAttributeMatcher(String attributes)
      Creates a new file attribute matcher, which matches attributes
      against a given string. #GFileAttributeMatchers are reference
      counted structures, and are created with a reference count of 1. If
      the number of references falls to 0, the #GFileAttributeMatcher 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

    • getClassHandler

      public static ClassHandler getClassHandler()
    • enumerateNamespace

      public boolean enumerateNamespace(@Nonnull Str 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.
    • 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 Str 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(@Nonnull Str 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.
    • 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(@Nonnull Str attribute)
      Checks if a 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.
    • matchesOnly

      public boolean matchesOnly(String attribute)
      Checks if a 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 FileAttributeMatcher subtract(@Nullable FileAttributeMatcher subtract)
      Subtracts all attributes of @subtract from @matcher and returns
      a matcher that supports those attributes.

      Note that currently it is not possible to remove a single
      attribute when the @matcher 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 @matcher that are not matched by @subtract
    • toStr

      public Str toStr()
      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.
      Returns:
      a string describing the attributes the matcher matches against or %NULL if @matcher was %NULL.
    • unref

      public void unref()
      Unreferences @matcher. If the reference count falls below 1,
      the @matcher is automatically freed.
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()