/** The Sone the image belongs to. */
private Sone sone;
+ /** The album this image belongs to. */
+ private Album album;
+
/** The request key of the image. */
private String key;
}
/**
+ * Returns the album this image belongs to.
+ *
+ * @return The album this image belongs to
+ */
+ public Album getAlbum() {
+ return album;
+ }
+
+ /**
+ * Sets the album this image belongs to. The album of an image can only be
+ * set once, and it is usually called by {@link Album#addImage(Image)}.
+ *
+ * @param album
+ * The album this image belongs to
+ * @return This image
+ */
+ public Image setAlbum(Album album) {
+ Validation.begin().isNull("Current Album", this.album).isNotNull("New Album", album).check().isEqual("Album Owner and Image Owner", album.getSone(), getSone()).check();
+ this.album = album;
+ return this;
+ }
+
+ /**
* Returns the request key of this image.
*
* @return The request key of this image
}
/**
+ * Returns whether the image has already been inserted. An image is
+ * considered as having been inserted it its {@link #getKey() key} is not
+ * {@code null}.
+ *
+ * @return {@code true} if there is a key for this image, {@code false}
+ * otherwise
+ */
+ public boolean isInserted() {
+ return key != null;
+ }
+
+ /**
* Returns the creation time of this image.
*
* @return The creation time of this image (in milliseconds since 1970, Jan