You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/07/25 16:38:45 UTC

[maven-shared-utils] branch master updated: [MSHARED-1079] Improve Javadoc of MessageBuilder, add #build() and deprecate #toString()

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git


The following commit(s) were added to refs/heads/master by this push:
     new 385fa08  [MSHARED-1079] Improve Javadoc of MessageBuilder, add #build() and deprecate #toString()
385fa08 is described below

commit 385fa0861ce122dff2f170f0561b9d72fa2406cd
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Jun 8 14:57:19 2022 +0200

    [MSHARED-1079] Improve Javadoc of MessageBuilder, add #build() and deprecate #toString()
    
    This closes #96
---
 .../shared/utils/logging/AnsiMessageBuilder.java   |  6 ++++++
 .../maven/shared/utils/logging/MessageBuilder.java | 23 +++++++++++++++++++++-
 .../shared/utils/logging/PlainMessageBuilder.java  |  6 ++++++
 3 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java b/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
index 7f44239..f7eed76 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
@@ -150,6 +150,12 @@ class AnsiMessageBuilder
 
     @Override
     public String toString()
+    {
+        return build();
+    }
+
+    @Override
+    public String build()
     {
         return ansi.toString();
     }
diff --git a/src/main/java/org/apache/maven/shared/utils/logging/MessageBuilder.java b/src/main/java/org/apache/maven/shared/utils/logging/MessageBuilder.java
index 649c086..5060bd1 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/MessageBuilder.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/MessageBuilder.java
@@ -19,8 +19,13 @@ package org.apache.maven.shared.utils.logging;
  * under the License.
  */
 
+import java.util.Formatter;
+
 /**
  * Message builder that supports configurable styling.
+ * An instance of this interface can be retrieved with {@link MessageUtils#buffer()}.
+ * After the message has been constructed with any of the append methods its content can be retrieved
+ * with {@link #build()}.
  * @see MessageUtils
  * @since 3.1.0
  */
@@ -125,9 +130,25 @@ public interface MessageBuilder
     /**
      * Append formatted content to the buffer.
      * @see String#format(String, Object...)
-     * @param pattern a <a href="../util/Formatter.html#syntax">format string</a>
+     * @param pattern a format string according to the {@link Formatter} syntax
      * @param args arguments referenced by the format specifiers in the format string.
      * @return the current builder
      */
     MessageBuilder format( String pattern, Object... args );
+
+    /**
+     * Get the message constructed by this builder.
+     * The underlying buffer is not reset with this method, i.e. if you continue using this builder you just
+     * append content to the existing one.
+     * @return the message
+     * @since 4.0.0
+     */
+    String build();
+
+    /**
+     * Same as {@link MessageBuilder#build()}.
+     * @deprecated Rather use {@link MessageBuilder#build()}
+     */
+    @Deprecated
+    String toString();
 }
diff --git a/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java b/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java
index 5ff4884..ce78826 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java
@@ -136,6 +136,12 @@ class PlainMessageBuilder
 
     @Override
     public String toString()
+    {
+        return build();
+    }
+
+    @Override
+    public String build()
     {
         return buffer.toString();
     }