1 package net.pterodactylus.fcp.quelaton;
4 import java.io.InputStream;
5 import java.util.Optional;
6 import java.util.function.Consumer;
8 import net.pterodactylus.fcp.Key;
9 import net.pterodactylus.fcp.RequestProgress;
12 * FCP command that inserts data into Freenet.
14 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
16 public interface ClientPutCommand {
18 ClientPutCommand onProgress(Consumer<RequestProgress> requestProgressConsumer);
19 ClientPutCommand onKeyGenerated(Consumer<String> keyGenerated);
20 ClientPutCommand named(String targetFilename);
21 WithUri redirectTo(String uri);
22 WithUri from(File file);
23 WithLength from(InputStream inputStream);
25 interface WithLength {
27 WithUri length(long length);
33 Executable<Optional<Key>> uri(String uri);