ScriptsLab
WikiDownloadsSourcesSupport
ScriptsLab
DocumentationDownloadsGitHubDiscord

© 2026 ScriptsLab

Back to src/main/java/com/scriptslab/api/storage
J

StorageManager.java

Java · 57 lines · 1.3 KB

src/main/java/com/scriptslab/api/storage/StorageManager.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.scriptslab.api.storage;

import java.util.Optional;
import java.util.concurrent.CompletableFuture;

/**
 * Manager for storage providers.
 * Handles multiple storage backends.
 */
public interface StorageManager {
    
    /**
     * Initializes the storage manager.
     * 
     * @return future that completes when initialized
     */
    CompletableFuture<Void> initialize();
    
    /**
     * Shuts down the storage manager.
     * 
     * @return future that completes when shut down
     */
    CompletableFuture<Void> shutdown();
    
    /**
     * Gets the default storage provider.
     * 
     * @return default provider
     */
    StorageProvider getDefaultProvider();
    
    /**
     * Gets a storage provider by name.
     * 
     * @param name provider name
     * @return optional containing provider if found
     */
    Optional<StorageProvider> getProvider(String name);
    
    /**
     * Registers a storage provider.
     * 
     * @param provider provider to register
     * @return future that completes when registered
     */
    CompletableFuture<Void> registerProvider(StorageProvider provider);
    
    /**
     * Unregisters a storage provider.
     * 
     * @param name provider name
     * @return future that completes when unregistered
     */
    CompletableFuture<Void> unregisterProvider(String name);
}