Class UserDefinedAttributeProvider


  • final class UserDefinedAttributeProvider
    extends AttributeProvider
    Attribute provider that provides the UserDefinedFileAttributeView ("user"). Unlike most other attribute providers, this one has no pre-defined set of attributes. Rather, it allows arbitrary user defined attributes to be set (as ByteBuffer or byte[]) and read (as byte[]).
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  UserDefinedAttributeProvider.View
      Implementation of UserDefinedFileAttributeView.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.google.common.collect.ImmutableSet<java.lang.String> attributes​(File file)
      Returns the set of attributes supported by this view that are present in the given file.
      com.google.common.collect.ImmutableSet<java.lang.String> fixedAttributes()
      Returns the set of attributes that are always available from this provider.
      @Nullable java.lang.Object get​(File file, java.lang.String attribute)
      Returns the value of the given attribute in the given file or null if the attribute is not supported by this provider.
      java.lang.String name()
      Returns the view name that's used to get attributes from this provider.
      void set​(File file, java.lang.String view, java.lang.String attribute, java.lang.Object value, boolean create)
      Sets the value of the given attribute in the given file object.
      boolean supports​(java.lang.String attribute)
      Returns whether or not this provider supports the given attribute directly.
      private static com.google.common.collect.ImmutableSet<java.lang.String> userDefinedAttributes​(File file)  
      java.nio.file.attribute.UserDefinedFileAttributeView view​(FileLookup lookup, com.google.common.collect.ImmutableMap<java.lang.String,​java.nio.file.attribute.FileAttributeView> inheritedViews)
      Returns a view of the file located by the given lookup callback.
      java.lang.Class<java.nio.file.attribute.UserDefinedFileAttributeView> viewType()
      Returns the type of the view interface that this provider supports.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • UserDefinedAttributeProvider

        UserDefinedAttributeProvider()
    • Method Detail

      • name

        public java.lang.String name()
        Description copied from class: AttributeProvider
        Returns the view name that's used to get attributes from this provider.
        Specified by:
        name in class AttributeProvider
      • fixedAttributes

        public com.google.common.collect.ImmutableSet<java.lang.String> fixedAttributes()
        Description copied from class: AttributeProvider
        Returns the set of attributes that are always available from this provider.
        Specified by:
        fixedAttributes in class AttributeProvider
      • supports

        public boolean supports​(java.lang.String attribute)
        Description copied from class: AttributeProvider
        Returns whether or not this provider supports the given attribute directly.
        Overrides:
        supports in class AttributeProvider
      • attributes

        public com.google.common.collect.ImmutableSet<java.lang.String> attributes​(File file)
        Description copied from class: AttributeProvider
        Returns the set of attributes supported by this view that are present in the given file. For most providers, this will be a fixed set of attributes.
        Overrides:
        attributes in class AttributeProvider
      • userDefinedAttributes

        private static com.google.common.collect.ImmutableSet<java.lang.String> userDefinedAttributes​(File file)
      • get

        public @Nullable java.lang.Object get​(File file,
                                              java.lang.String attribute)
        Description copied from class: AttributeProvider
        Returns the value of the given attribute in the given file or null if the attribute is not supported by this provider.
        Specified by:
        get in class AttributeProvider
      • set

        public void set​(File file,
                        java.lang.String view,
                        java.lang.String attribute,
                        java.lang.Object value,
                        boolean create)
        Description copied from class: AttributeProvider
        Sets the value of the given attribute in the given file object. The create parameter indicates whether or not the value is being set upon creation of a new file via a user-provided FileAttribute.
        Specified by:
        set in class AttributeProvider
      • viewType

        public java.lang.Class<java.nio.file.attribute.UserDefinedFileAttributeView> viewType()
        Description copied from class: AttributeProvider
        Returns the type of the view interface that this provider supports.
        Specified by:
        viewType in class AttributeProvider
      • view

        public java.nio.file.attribute.UserDefinedFileAttributeView view​(FileLookup lookup,
                                                                         com.google.common.collect.ImmutableMap<java.lang.String,​java.nio.file.attribute.FileAttributeView> inheritedViews)
        Description copied from class: AttributeProvider
        Returns a view of the file located by the given lookup callback. The given map contains the views inherited by this view.
        Specified by:
        view in class AttributeProvider