@CanIgnoreReturnValue
    public Builder setDefaultAttributeValue(String attribute, Object value) {
      checkArgument(
          ATTRIBUTE_PATTERN.matcher(attribute).matches(),
          "attribute (%s) must be of the form \"view:attribute\"",
          attribute);
      checkNotNull(value);

      if (defaultAttributeValues == null) {
        defaultAttributeValues = new HashMap<>();
      }

      defaultAttributeValues.put(attribute, value);
      return this;
    }
Sets the default value to use for the given file attribute when creating new files. The
attribute must be in the form "view:attribute". The value must be of a type that the provider
for the view accepts.

<p>For the included attribute views, default values can be set for the following attributes:

<table>
  <tr>
    <th>Attribute</th>
    <th>Legal Types</th>
  </tr>
  <tr>
    <td>{@code "owner:owner"}</td>
    <td>{@code String} (user name)</td>
  </tr>
  <tr>
    <td>{@code "posix:group"}</td>
    <td>{@code String} (group name)</td>
  </tr>
  <tr>
    <td>{@code "posix:permissions"}</td>
    <td>{@code String} (format "rwxrw-r--"), {@code Set<PosixFilePermission>}</td>
  </tr>
  <tr>
    <td>{@code "dos:readonly"}</td>
    <td>{@code Boolean}</td>
  </tr>
  <tr>
    <td>{@code "dos:hidden"}</td>
    <td>{@code Boolean}</td>
  </tr>
  <tr>
    <td>{@code "dos:archive"}</td>
    <td>{@code Boolean}</td>
  </tr>
  <tr>
    <td>{@code "dos:system"}</td>
    <td>{@code Boolean}</td>
  </tr>
  <tr>
    <td>{@code "acl:acl"}</td>
    <td>{@code List<AclEntry>}</td>
  </tr>
</table>
jimfs/src/main/java/com/google/common/jimfs/Configuration.java