X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FImageImpl.java;h=df901b02b3df65821bcbbd54f7440017469c978c;hb=210684b4bc499e298a0d0abeddd4008cdeb406bc;hp=1309a801e8544ce5a4e792006e4ca3ae2f0326b1;hpb=53c73fe2e6e02d9895d4c0ad60091a28514abe22;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/ImageImpl.java b/src/main/java/net/pterodactylus/sone/data/ImageImpl.java index 1309a80..df901b0 100644 --- a/src/main/java/net/pterodactylus/sone/data/ImageImpl.java +++ b/src/main/java/net/pterodactylus/sone/data/ImageImpl.java @@ -202,8 +202,11 @@ public class ImageImpl implements Image { @Override public Image update() throws IllegalStateException { checkState(!sone.isPresent() || (ImageImpl.this.sone == null) || sone.get().equals(ImageImpl.this.sone), "can not change Sone once set"); - checkState(!creationTime.isPresent() || (ImageImpl.this.creationTime == 0), "can not change creation time once set"); + checkState(!creationTime.isPresent() || ((ImageImpl.this.creationTime == 0) || (ImageImpl.this.creationTime == creationTime.get())), "can not change creation time once set"); checkState(!key.isPresent() || (ImageImpl.this.key == null) || key.get().equals(ImageImpl.this.key), "can not change key once set"); + if (title.isPresent() && title.get().trim().isEmpty()) { + throw new ImageTitleMustNotBeEmpty(); + } checkState(!width.isPresent() || (ImageImpl.this.width == 0) || width.get().equals(ImageImpl.this.width), "can not change width once set"); checkState(!height.isPresent() || (ImageImpl.this.height == 0) || height.get().equals(ImageImpl.this.height), "can not change height once set"); @@ -234,6 +237,8 @@ public class ImageImpl implements Image { }; } + public static class ImageTitleMustNotBeEmpty extends IllegalStateException { } + // // FINGERPRINTABLE METHODS //