- public void removeImage(Image image) {
- Validation.begin().isNotNull("Image", image).check().isEqual("Image Owner", image.getSone(), sone).check();
- images.remove(image);
- }
+ void removeImage(Image image);
+
+ /**
+ * Moves the given image up in this album’s images. If the image is already the
+ * first image, nothing happens.
+ *
+ * @param image
+ * The image to move up
+ * @return The image that the given image swapped the place with, or
+ * <code>null</code> if the image did not change its place
+ */
+ Image moveImageUp(Image image);
+
+ /**
+ * Moves the given image down in this album’s images. If the image is already
+ * the last image, nothing happens.
+ *
+ * @param image
+ * The image to move down
+ * @return The image that the given image swapped the place with, or
+ * <code>null</code> if the image did not change its place
+ */
+ Image moveImageDown(Image image);
+
+ /**
+ * Returns the album image of this album, or {@code null} if no album image has
+ * been set.
+ *
+ * @return The image to show when this album is listed
+ */
+ Image getAlbumImage();
+
+ /**
+ * Returns whether this album contains any other albums or images.
+ *
+ * @return {@code true} if this album is empty, {@code false} otherwise
+ */
+ boolean isEmpty();
+
+ /**
+ * Returns whether this album is an identitiy’s root album.
+ *
+ * @return {@code true} if this album is an identity’s root album, {@code
+ * false} otherwise
+ */
+ boolean isRoot();