You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 14, 2025. It is now read-only.
* Decorates an existing CloudProvider by encrypting paths and file contents using Cryptomator's Vault Format 8.
24
36
* Uses an externally managed masterkey, i.e. it will only validate the vault version but not parse any vault config.
37
+
* <p>
38
+
* This method might return with one of the following exceptions:
39
+
* <ul>
40
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.VaultVersionVerificationFailedException} If the version of the vault config isn't 8</li>
41
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.VaultKeyVerificationFailedException} If <code>rawKey</code> doesn't match the key used to create the vault config</li>
42
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.VaultVerificationFailedException} If the <code>ciphermode</code> in the vault config doesn't match SIV_GCM</li>
43
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.CloudProviderException} If the general error occurred</li>
44
+
* <li>{@link CloudProviderException} in case of generic I/O errors</li>
45
+
* </ul>
25
46
*
26
47
* @param cloudProvider A CloudProvider providing access to a storage space on which to store ciphertext data
27
-
* @param pathToVaultPath that can be used within the given <code>cloudProvider</code> leading to the vault's root
48
+
* @param pathToVaultPath that can be used within the given <code>cloudProvider</code> leading to the vault's root
28
49
* @param rawKey 512 bit key used for cryptographic operations
29
50
* @return A cleartext view on the given CloudProvider
* Fetches the available, used and or total quota for a folder
39
+
* <p>
40
+
* The returned CompletionStage might complete exceptionally with one of the following exceptions:
41
+
* <ul>
42
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.NotFoundException} If no item exists for the given path</li>
43
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.QuotaNotAvailableException} If the quota could not be queried. </li>
44
+
* <li>{@link CloudProviderException} in case of generic I/O errors</li>
45
+
* </ul>
46
+
*
47
+
* @param folder The remote path of the folder, whose quota to fetch.
48
+
* @return CompletionStage with the quota info for a folder. If the fetch fails, it completes exceptionally.
49
+
*/
50
+
CompletionStage<Quota> quota(CloudPathfolder);
51
+
37
52
/**
38
53
* Starts fetching the contents of a folder.
39
54
* If the result's <code>CloudItemList</code> has a <code>nextPageToken</code>, calling this method again with the provided token will continue listing.
* The returned CompletionStage might complete exceptionally with the same exceptions as specified in {@link #read(CloudPath, long, long, ProgressListener)}.
82
97
*
83
98
* @param file A remote path referencing a file
84
-
* @param progressListener TODO Future use
99
+
* @param progressListener Future use
85
100
* @return CompletionStage with an InputStream to read from. If accessing the file fails, it'll complete exceptionally.
* @param offset The first byte (inclusive) to read.
104
119
* @param count The number of bytes requested. Can exceed the actual file length. Set to {@link Long#MAX_VALUE} to read till EOF.
105
-
* @param progressListener TODO Future use
120
+
* @param progressListener Future use
106
121
* @return CompletionStage with an InputStream to read from. If accessing the file fails, it'll complete exceptionally. If the requested range cannot be fulfilled, an inputstream with 0 bytes is returned
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.NotFoundException} If the parent directory of this file doesn't exist</li>
116
131
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.TypeMismatchException} If the path points to a node that isn't a file</li>
117
132
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.AlreadyExistsException} If a node with the given path already exists and <code>replace</code> is false</li>
133
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.ParentFolderDoesNotExistException} If the parent folder of a node doesn't exists</li>
118
134
* <li>{@link CloudProviderException} in case of generic I/O errors</li>
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.NotFoundException} If no item exists for the given source path</li>
187
203
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.AlreadyExistsException} If a node with the given target path already exists and <code>replace</code> is false</li>
204
+
* <li>{@link org.cryptomator.cloudaccess.api.exceptions.ParentFolderDoesNotExistException} If the parent folder of a node doesn't exists</li>
188
205
* <li>{@link CloudProviderException} in case of generic I/O errors</li>
0 commit comments