HADOOP-15691 Add PathCapabilities to FileSystem and FileContext. Contributed by Steve Loughran.
This complements the StreamCapabilities Int…
HADOOP-15691 Add PathCapabilities to FileSystem and FileContext.Contributed by Steve Loughran.This complements the StreamCapabilities Interface by allowing applications to probe for a specific path on a specific instance of a FileSystem clientto offer a specific capability.This is intended to allow applications to determine* Whether a method is implemented before calling it and dealing with UnsupportedOperationException.* Whether a specific feature is believed to be available in the remote store.As well as a common set of capabilities defined in CommonPathCapabilities,file systems are free to add their own capabilities, prefixed with fs. + schema + .The plan is to identify and document more capabilities -and for file systems which add new features, for a declaration of the availability of the feature to always be available.Note* The remote store is not expected to be checked for the feature; It is more a check of client API and the client's configuration/knowledge of the state of the remote system.* Permissions are not checked.Change-Id: I80bfebe94f4a8bdad8f3ac055495735b824968f5