X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FProfile.java;h=4970cf9ffefd723ea22684d224571098b8caae18;hp=5a4fde041052c8c4f0a7228196eb5fba9b3698fa;hb=0e8f7804ce344bdd69f5ecc7febe25a60a53561d;hpb=e3a3dccdfcb0f7390f8bf30ec1af0f9d9fb69496 diff --git a/src/main/java/net/pterodactylus/sone/data/Profile.java b/src/main/java/net/pterodactylus/sone/data/Profile.java index 5a4fde0..4970cf9 100644 --- a/src/main/java/net/pterodactylus/sone/data/Profile.java +++ b/src/main/java/net/pterodactylus/sone/data/Profile.java @@ -325,10 +325,14 @@ public class Profile implements Fingerprintable { */ public Field addField(String fieldName) throws IllegalArgumentException { checkNotNull(fieldName, "fieldName must not be null"); - checkArgument(fieldName.length() > 0, "fieldName must not be empty"); - checkState(getFieldByName(fieldName) == null, "fieldName must be unique"); + if (fieldName.length() == 0) { + throw new EmptyFieldName(); + } + if (getFieldByName(fieldName) != null) { + throw new DuplicateField(); + } @SuppressWarnings("synthetic-access") - Field field = new Field().setName(fieldName); + Field field = new Field().setName(fieldName).setValue(""); fields.add(field); return field; } @@ -553,4 +557,18 @@ public class Profile implements Fingerprintable { } + /** + * Exception that signals the addition of a field with an empty name. + * + * @author David ‘Bombe’ Roden + */ + public static class EmptyFieldName extends IllegalArgumentException { } + + /** + * Exception that signals the addition of a field that already exists. + * + * @author David ‘Bombe’ Roden + */ + public static class DuplicateField extends IllegalArgumentException { } + }