package net.pterodactylus.sone.database;
import net.pterodactylus.sone.data.Image;
-import net.pterodactylus.sone.data.Sone;
+
+import com.google.common.base.Optional;
/**
* Builder for {@link Image} objects.
*/
public interface ImageBuilder {
- ImageBuilder randomId();
ImageBuilder withId(String id);
- ImageBuilder by(Sone sone);
ImageBuilder created(long creationTime);
- ImageBuilder createdNow();
ImageBuilder at(String key);
ImageBuilder sized(int width, int height);
- Image build() throws IllegalStateException;
+ Image build(Optional<ImageCreated> imageCreated) throws IllegalStateException;
+
+ interface ImageCreated {
+
+ void imageCreated(Image image);
+
+ }
}