List<Album> getAlbums();
/**
- * 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.
*
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
*/
Modifier modify() throws IllegalStateException;
+ void remove() throws IllegalStateException;
+
/**
* Allows modifying an album. Modifications are only performed once {@link
* #update()} has succesfully returned a new album with the modifications