X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FImage.java;h=6b7b1ddbf90906cb95f1d23fb02fd5e3457abcd8;hb=d9ce997ce221202a8abb66b835f1a1f55985059f;hp=0ae373afc5345d1cd022135223b6eaebbc9c88a9;hpb=f76f59c8cf8dbc38a24a7450e1a78f5bb4791fec;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Image.java b/src/main/java/net/pterodactylus/sone/data/Image.java index 0ae373a..6b7b1dd 100644 --- a/src/main/java/net/pterodactylus/sone/data/Image.java +++ b/src/main/java/net/pterodactylus/sone/data/Image.java @@ -19,12 +19,14 @@ package net.pterodactylus.sone.data; import java.util.UUID; +import net.pterodactylus.util.validation.Validation; + /** * Container for image metadata. * * @author David ‘Bombe’ Roden */ -public class Image { +public class Image implements Fingerprintable { /** The ID of the image. */ private final String id; @@ -85,6 +87,7 @@ public class Image { * The height of the image */ public Image(String id, Sone sone, String key, long creationTime, int width, int height) { + Validation.begin().isNotNull("Image ID", id).isNotNull("Image Owner", sone).isNotNull("Image Key", key).isGreater("Image Creation Time", creationTime, 0).isGreater("Image Width", width, 0).isGreater("Image Height", height, 0).check(); this.id = id; this.sone = sone; this.key = key; @@ -169,6 +172,7 @@ public class Image { * @return This image */ public Image setTitle(String title) { + Validation.begin().isNotNull("Image Title", title).check(); this.title = title; return this; } @@ -190,8 +194,27 @@ public class Image { * @return This image */ public Image setDescription(String description) { + Validation.begin().isNotNull("Image Description", description).check(); this.description = description; return this; } + // + // FINGERPRINTABLE METHODS + // + + /** + * {@inheritDoc} + */ + @Override + public String getFingerprint() { + StringBuilder fingerprint = new StringBuilder(); + fingerprint.append("Image("); + fingerprint.append("ID(").append(id).append(')'); + fingerprint.append("Title(").append(title).append(')'); + fingerprint.append("Description(").append(description).append(')'); + fingerprint.append(')'); + return fingerprint.toString(); + } + }