X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FAlbum.java;h=df514d44313e1c9dc64e3b8aafc8c44dd07d77e0;hb=84e3f241029a4a0a63069a0a793b4f09408d3ca6;hp=8864f135f6cb8112eb2ab926a9b2ebef734c0128;hpb=e7905b3679a3ad0d488f29522a2d1e3ed7b84367;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Album.java b/src/main/java/net/pterodactylus/sone/data/Album.java index 8864f13..df514d4 100644 --- a/src/main/java/net/pterodactylus/sone/data/Album.java +++ b/src/main/java/net/pterodactylus/sone/data/Album.java @@ -26,6 +26,7 @@ import java.util.Comparator; import java.util.List; import javax.annotation.Nonnull; +import net.pterodactylus.sone.database.AlbumBuilder; import net.pterodactylus.sone.database.ImageBuilder; import com.google.common.base.Function; @@ -117,62 +118,9 @@ public interface Album extends Identified, Fingerprintable { */ Sone getSone(); - /** - * Sets the owner of the album. The owner can only be set as long as the - * current owner is {@code null}. - * - * @param sone - * The album owner - * @return This album - */ - Album setSone(Sone sone); - - /** - * Returns the nested albums. - * - * @return The nested albums - */ List getAlbums(); /** - * Adds an album to this album. - * - * @param album - * The album to add - */ - void addAlbum(Album album); - - /** - * Removes an album from this album. - * - * @param album - * The album to remove - */ - void removeAlbum(Album album); - - /** - * Moves the given album up in this album’s albums. If the album is already the - * first album, nothing happens. - * - * @param album - * The album to move up - * @return The album that the given album swapped the place with, or - * null if the album did not change its place - */ - Album moveAlbumUp(Album album); - - /** - * Moves the given album down in this album’s albums. If the album is already - * the last album, nothing happens. - * - * @param album - * The album to move down - * @return The album that the given album swapped the place with, or - * null if the album did not change its place - */ - Album moveAlbumDown(Album album); - - /** * Returns the images in this album. * * @return The images in this album @@ -180,14 +128,6 @@ public interface Album extends Identified, Fingerprintable { List getImages(); /** - * Removes the given image from this album. - * - * @param image - * The image to remove - */ - void removeImage(Image image); - - /** * Moves the given image up in this album’s images. If the image is already the * first image, nothing happens. * @@ -241,22 +181,6 @@ public interface Album extends Identified, Fingerprintable { Album getParent(); /** - * Sets the parent album of this album. - * - * @param parent - * The new parent album of this album - * @return This album - */ - Album setParent(Album parent); - - /** - * Removes the parent album of this album. - * - * @return This album - */ - Album removeParent(); - - /** * Returns the title of this album. * * @return The title of this album @@ -270,6 +194,8 @@ public interface Album extends Identified, Fingerprintable { */ String getDescription(); + AlbumBuilder newAlbumBuilder() throws IllegalStateException; + ImageBuilder newImageBuilder() throws IllegalStateException; /** @@ -281,6 +207,12 @@ public interface Album extends Identified, Fingerprintable { */ Modifier modify() throws IllegalStateException; + void moveUp(); + + void moveDown(); + + void remove() throws IllegalStateException; + /** * Allows modifying an album. Modifications are only performed once {@link * #update()} has succesfully returned a new album with the modifications