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

jamesfredley pushed a commit to branch refactor/legacy-jdk-types
in repository https://gitbox.apache.org/repos/asf/grails-core.git

commit 0a726c6500964b5b351f90f007d5fd436aff5b74
Author: James Fredley <[email protected]>
AuthorDate: Fri Jul 17 04:46:08 2026 -0400

    Replace local StringBuffer usage with StringBuilder
    
    Assisted-by: opencode:gpt-5.6-sol
---
 .../org/grails/datastore/gorm/jdbc/RelaxedNames.java       |  4 ++--
 .../main/groovy/org/grails/io/support/SpringIOUtils.java   |  2 +-
 .../org/grails/gsp/compiler/GrailsLayoutPreprocessor.java  | 14 +++++++-------
 .../src/main/groovy/org/grails/web/json/JSONTokener.java   |  2 +-
 .../groovy/org/grails/web/mapping/RegexUrlMapping.java     |  2 +-
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java
 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java
index 87fe47cc50..0cab941153 100644
--- 
a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java
+++ 
b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java
@@ -142,7 +142,7 @@ final class RelaxedNames implements Iterable<String> {
             @Override
             public String apply(String value) {
                 Matcher matcher = CAMEL_CASE_PATTERN.matcher(value);
-                StringBuffer result = new StringBuffer();
+                StringBuilder result = new StringBuilder();
                 while (matcher.find()) {
                     matcher.appendReplacement(result, matcher.group(1) + '_' +
                             StringUtils.uncapitalize(matcher.group(2)));
@@ -156,7 +156,7 @@ final class RelaxedNames implements Iterable<String> {
             @Override
             public String apply(String value) {
                 Matcher matcher = CAMEL_CASE_PATTERN.matcher(value);
-                StringBuffer result = new StringBuffer();
+                StringBuilder result = new StringBuilder();
                 while (matcher.find()) {
                     matcher.appendReplacement(result, matcher.group(1) + '-' +
                             StringUtils.uncapitalize(matcher.group(2)));
diff --git 
a/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java 
b/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java
index 31eee26c26..027cce4e3e 100644
--- 
a/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java
+++ 
b/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java
@@ -92,7 +92,7 @@ public class SpringIOUtils {
             return null;
         }
 
-        StringBuffer out = new StringBuffer(in.length * 2);
+        StringBuilder out = new StringBuilder(in.length * 2);
 
         //CheckStyle:MagicNumber OFF
         for (int i = 0; i < in.length; i++) {
diff --git 
a/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java
 
b/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java
index 0592aa1ec4..8171511ece 100644
--- 
a/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java
+++ 
b/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java
@@ -41,14 +41,14 @@ public class GrailsLayoutPreprocessor {
     public static final String XML_CLOSING_FOR_EMPTY_TAG_ATTRIBUTE_NAME = 
"gsp_sm_xmlClosingForEmptyTag";
 
     public String addGspGrailsLayoutCapturing(String gspSource) {
-        StringBuffer sb = addHeadCapturing(gspSource);
+        StringBuilder sb = addHeadCapturing(gspSource);
         sb = addBodyCapturing(sb);
         sb = addContentCapturing(sb);
         return sb.toString();
     }
 
-    StringBuffer addHeadCapturing(String gspSource) {
-        StringBuffer sb = new StringBuffer((int) (gspSource.length() * 1.2));
+    StringBuilder addHeadCapturing(String gspSource) {
+        StringBuilder sb = new StringBuilder((int) (gspSource.length() * 1.2));
         Matcher m = headPattern.matcher(gspSource);
         if (m.find()) {
             m.appendReplacement(sb, "");
@@ -83,13 +83,13 @@ public class GrailsLayoutPreprocessor {
         return 
m.replaceAll("<grailsLayout:wrapTitleTag><grailsLayout:captureTitle$1>$2</grailsLayout:captureTitle></grailsLayout:wrapTitleTag>");
     }
 
-    StringBuffer addBodyCapturing(StringBuffer sb) {
+    StringBuilder addBodyCapturing(StringBuilder sb) {
         Matcher m = bodyPattern.matcher(sb);
-        return new 
StringBuffer(m.replaceAll("<grailsLayout:captureBody$1>$2</grailsLayout:captureBody>"));
+        return new 
StringBuilder(m.replaceAll("<grailsLayout:captureBody$1>$2</grailsLayout:captureBody>"));
     }
 
-    StringBuffer addContentCapturing(StringBuffer sb) {
+    StringBuilder addContentCapturing(StringBuilder sb) {
         Matcher m = contentPattern.matcher(sb);
-        return new 
StringBuffer(m.replaceAll("<grailsLayout:captureContent$1>$2</grailsLayout:captureContent>"));
+        return new 
StringBuilder(m.replaceAll("<grailsLayout:captureContent$1>$2</grailsLayout:captureContent>"));
     }
 }
diff --git 
a/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java 
b/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java
index 2b0018e8b9..9fb222e970 100644
--- a/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java
+++ b/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java
@@ -470,7 +470,7 @@ public class JSONTokener {
             endIndex = 19;
             appendDots = true;
         }
-        StringBuffer output = new StringBuffer(" at character " + this.myIndex 
+ " of " + this.mySource.substring(0, endIndex));
+        StringBuilder output = new StringBuilder(" at character " + 
this.myIndex + " of " + this.mySource.substring(0, endIndex));
         if (appendDots) {
             output.append("...");
         }
diff --git 
a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java
 
b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java
index 8aa4143d78..d2283f2204 100644
--- 
a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java
+++ 
b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java
@@ -391,7 +391,7 @@ public class RegexUrlMapping extends AbstractUrlMapping {
             }
             m = DOUBLE_WILDCARD_PATTERN.matcher(token);
             if (m.find()) {
-                StringBuffer buf = new StringBuffer();
+                StringBuilder buf = new StringBuilder();
                 do {
                     ConstrainedProperty prop = constraints[paramIndex++];
                     String propName = prop.getPropertyName();

Reply via email to