X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FAlbum.java;h=09a7da4e7799c2cb3bd00c6f3762c24bb1cebbb7;hp=1e79f89a8738da34ed600ba7f231ef43e1cd07bf;hb=c2f9f5293a81bdf2606f56f3822779a4639a1356;hpb=91c4f73f647aabe99e44bc3d2fadb4c494d3b621 diff --git a/src/main/java/net/pterodactylus/sone/data/Album.java b/src/main/java/net/pterodactylus/sone/data/Album.java index 1e79f89..09a7da4 100644 --- a/src/main/java/net/pterodactylus/sone/data/Album.java +++ b/src/main/java/net/pterodactylus/sone/data/Album.java @@ -224,15 +224,6 @@ public interface Album extends Identified, Fingerprintable { Image getAlbumImage(); /** - * Sets the ID of the album image. - * - * @param id - * The ID of the album image - * @return This album - */ - Album setAlbumImage(String id); - - /** * Returns whether this album contains any other albums or images. * * @return {@code true} if this album is empty, {@code false} otherwise @@ -279,28 +270,38 @@ public interface Album extends Identified, Fingerprintable { String getTitle(); /** - * Sets the title of this album. + * Returns the description of this album. * - * @param title - * The title of this album - * @return This album + * @return The description of this album */ - Album setTitle(String title); + String getDescription(); /** - * Returns the description of this album. + * Returns a modifier for this album. * - * @return The description of this album + * @return A modifier for this album + * @throws IllegalStateException + * if this album can not be modified */ - String getDescription(); + Modifier modify() throws IllegalStateException; /** - * Sets the description of this album. + * Allows modifying an album. Modifications are only performed once {@link + * #update()} has succesfully returned a new album with the modifications + * made. * - * @param description - * The description of this album - * @return This album + * @author David ‘Bombe’ Roden */ - Album setDescription(String description); + interface Modifier { + + Modifier setTitle(String title); + + Modifier setDescription(String description); + + Modifier setAlbumImage(String imageId); + + Album update() throws IllegalStateException; + + } }