From 55a6733ac5229f54efb594b981d08295246e2cb2 Mon Sep 17 00:00:00 2001 From: freya022 <41875020+freya022@users.noreply.github.com> Date: Tue, 20 Jul 2021 17:34:52 +0200 Subject: [PATCH 1/7] Add EmbedBuilder#reset(EmbedBuilder) Add EmbedBuilder#reset(MessageEmbed) --- .../net/dv8tion/jda/api/EmbedBuilder.java | 78 ++++++++++++------- 1 file changed, 51 insertions(+), 27 deletions(-) diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java index 9c3424c486..9ba05fb805 100644 --- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java +++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java @@ -64,19 +64,7 @@ public EmbedBuilder() { } public EmbedBuilder(@Nullable EmbedBuilder builder) { - if (builder != null) - { - setDescription(builder.description.toString()); - this.fields.addAll(builder.fields); - this.url = builder.url; - this.title = builder.title; - this.timestamp = builder.timestamp; - this.color = builder.color; - this.thumbnail = builder.thumbnail; - this.author = builder.author; - this.footer = builder.footer; - this.image = builder.image; - } + reset(builder); } /** @@ -87,20 +75,7 @@ public EmbedBuilder(@Nullable EmbedBuilder builder) */ public EmbedBuilder(@Nullable MessageEmbed embed) { - if(embed != null) - { - setDescription(embed.getDescription()); - this.url = embed.getUrl(); - this.title = embed.getTitle(); - this.timestamp = embed.getTimestamp(); - this.color = embed.getColorRaw(); - this.thumbnail = embed.getThumbnail(); - this.author = embed.getAuthor(); - this.footer = embed.getFooter(); - this.image = embed.getImage(); - if (embed.getFields() != null) - fields.addAll(embed.getFields()); - } + reset(embed); } /** @@ -149,6 +124,55 @@ public EmbedBuilder clear() return this; } + /** + * Resets this builder to the state of the given builder. + *
All the parts of the given builder will be applied to this one. + * + * @param builder + * the existing builder + */ + public void reset(EmbedBuilder builder) + { + if (builder != null) + { + setDescription(builder.description.toString()); + this.fields.addAll(builder.fields); + this.url = builder.url; + this.title = builder.title; + this.timestamp = builder.timestamp; + this.color = builder.color; + this.thumbnail = builder.thumbnail; + this.author = builder.author; + this.footer = builder.footer; + this.image = builder.image; + } + } + + /** + * Resets this builder to the state of the given embed. + *
All the parts of the given embed will be applied to this builder. + * + * @param embed + * the existing embed + */ + public void reset(MessageEmbed embed) + { + if(embed != null) + { + setDescription(embed.getDescription()); + this.url = embed.getUrl(); + this.title = embed.getTitle(); + this.timestamp = embed.getTimestamp(); + this.color = embed.getColorRaw(); + this.thumbnail = embed.getThumbnail(); + this.author = embed.getAuthor(); + this.footer = embed.getFooter(); + this.image = embed.getImage(); + if (embed.getFields() != null) + fields.addAll(embed.getFields()); + } + } + /** * Checks if the given embed is empty. Empty embeds will throw an exception if built * From 7775af9527a23627bdbf5363f3fec3df193a241c Mon Sep 17 00:00:00 2001 From: freya022 <41875020+freya022@users.noreply.github.com> Date: Tue, 20 Jul 2021 17:35:25 +0200 Subject: [PATCH 2/7] Add docs to EmbedBuilder#EmbedBuilder(EmbedBuilder) --- src/main/java/net/dv8tion/jda/api/EmbedBuilder.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java index 9ba05fb805..b2ee168147 100644 --- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java +++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java @@ -62,6 +62,12 @@ public class EmbedBuilder */ public EmbedBuilder() { } + /** + * Creates an EmbedBuilder using fields from an existing builder + * + * @param builder + * the existing builder + */ public EmbedBuilder(@Nullable EmbedBuilder builder) { reset(builder); From 171847959d5cc007d7adb126b8e9e50cbfafcdc6 Mon Sep 17 00:00:00 2001 From: freya022 <41875020+freya022@users.noreply.github.com> Date: Sun, 25 Jul 2021 15:16:27 +0200 Subject: [PATCH 3/7] Add @Nullable to reset methods --- src/main/java/net/dv8tion/jda/api/EmbedBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java index b2ee168147..20b20ce99a 100644 --- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java +++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java @@ -137,7 +137,7 @@ public EmbedBuilder clear() * @param builder * the existing builder */ - public void reset(EmbedBuilder builder) + public void reset(@Nullable EmbedBuilder builder) { if (builder != null) { @@ -161,7 +161,7 @@ public void reset(EmbedBuilder builder) * @param embed * the existing embed */ - public void reset(MessageEmbed embed) + public void reset(@Nullable MessageEmbed embed) { if(embed != null) { From fbcffa781384930bdd27caab8d2f2ef7d92c5120 Mon Sep 17 00:00:00 2001 From: freya022 <41875020+freya022@users.noreply.github.com> Date: Sun, 25 Jul 2021 15:16:44 +0200 Subject: [PATCH 4/7] Clear fields before adding fields --- src/main/java/net/dv8tion/jda/api/EmbedBuilder.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java index 20b20ce99a..1ec391435f 100644 --- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java +++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java @@ -142,6 +142,7 @@ public void reset(@Nullable EmbedBuilder builder) if (builder != null) { setDescription(builder.description.toString()); + this.clearFields(); this.fields.addAll(builder.fields); this.url = builder.url; this.title = builder.title; @@ -175,7 +176,10 @@ public void reset(@Nullable MessageEmbed embed) this.footer = embed.getFooter(); this.image = embed.getImage(); if (embed.getFields() != null) + { + this.clearFields(); fields.addAll(embed.getFields()); + } } } From e45250c87a7d06de40e72cb4a7fe4a669c9e088e Mon Sep 17 00:00:00 2001 From: freya022 <41875020+freya022@users.noreply.github.com> Date: Sun, 25 Jul 2021 15:28:51 +0200 Subject: [PATCH 5/7] Unwrap unnecessary null check --- src/main/java/net/dv8tion/jda/api/EmbedBuilder.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java index 1ec391435f..c385c7bbc7 100644 --- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java +++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java @@ -167,6 +167,8 @@ public void reset(@Nullable MessageEmbed embed) if(embed != null) { setDescription(embed.getDescription()); + this.clearFields(); + this.fields.addAll(embed.getFields()); this.url = embed.getUrl(); this.title = embed.getTitle(); this.timestamp = embed.getTimestamp(); @@ -175,11 +177,6 @@ public void reset(@Nullable MessageEmbed embed) this.author = embed.getAuthor(); this.footer = embed.getFooter(); this.image = embed.getImage(); - if (embed.getFields() != null) - { - this.clearFields(); - fields.addAll(embed.getFields()); - } } } From cae3bb75cf737c3ad5e886cc000771d14dee81f6 Mon Sep 17 00:00:00 2001 From: freya022 <41875020+freya022@users.noreply.github.com> Date: Mon, 2 Aug 2021 15:59:02 +0200 Subject: [PATCH 6/7] Change reset to copyFrom --- src/main/java/net/dv8tion/jda/api/EmbedBuilder.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java index c385c7bbc7..6bf3fd7b17 100644 --- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java +++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java @@ -70,7 +70,7 @@ public EmbedBuilder() { } */ public EmbedBuilder(@Nullable EmbedBuilder builder) { - reset(builder); + copyFrom(builder); } /** @@ -81,7 +81,7 @@ public EmbedBuilder(@Nullable EmbedBuilder builder) */ public EmbedBuilder(@Nullable MessageEmbed embed) { - reset(embed); + copyFrom(embed); } /** @@ -137,7 +137,7 @@ public EmbedBuilder clear() * @param builder * the existing builder */ - public void reset(@Nullable EmbedBuilder builder) + public void copyFrom(@Nullable EmbedBuilder builder) { if (builder != null) { @@ -162,7 +162,7 @@ public void reset(@Nullable EmbedBuilder builder) * @param embed * the existing embed */ - public void reset(@Nullable MessageEmbed embed) + public void copyFrom(@Nullable MessageEmbed embed) { if(embed != null) { From 59fd81c44266657339a258587dc35750493971f7 Mon Sep 17 00:00:00 2001 From: freya022 <41875020+freya022@users.noreply.github.com> Date: Mon, 2 Aug 2021 20:04:23 +0200 Subject: [PATCH 7/7] Fix copyFrom docs --- src/main/java/net/dv8tion/jda/api/EmbedBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java index 6bf3fd7b17..7e46bed9cb 100644 --- a/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java +++ b/src/main/java/net/dv8tion/jda/api/EmbedBuilder.java @@ -131,7 +131,7 @@ public EmbedBuilder clear() } /** - * Resets this builder to the state of the given builder. + * Copies the data from the given builder into this builder. *
All the parts of the given builder will be applied to this one. * * @param builder @@ -156,7 +156,7 @@ public void copyFrom(@Nullable EmbedBuilder builder) } /** - * Resets this builder to the state of the given embed. + * Copies the data from the given embed into this builder. *
All the parts of the given embed will be applied to this builder. * * @param embed