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

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 925e46062 Fix SonarQube issues.
925e46062 is described below

commit 925e46062b7ef20e8a735009c6cc11da99d74b31
Author: James Bognar <[email protected]>
AuthorDate: Sun Jul 27 12:35:30 2025 -0400

    Fix SonarQube issues.
---
 .../apache/juneau/common/internal/ArgUtils.java    |   2 +-
 .../apache/juneau/common/internal/AsciiMap.java    |   2 +-
 .../apache/juneau/common/internal/AsciiSet.java    |  16 +-
 .../org/apache/juneau/common/internal/IOUtils.java |  94 ++--
 .../apache/juneau/common/internal/StringUtils.java | 541 +++++++++++----------
 .../apache/juneau/common/internal/SystemUtils.java |   1 -
 .../juneau/common/internal/ThrowableUtils.java     |   8 +-
 7 files changed, 347 insertions(+), 317 deletions(-)

diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ArgUtils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ArgUtils.java
index 97fd8d3c2..393687f88 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ArgUtils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ArgUtils.java
@@ -79,7 +79,7 @@ public class ArgUtils {
         * @throws IllegalArgumentException Constructed exception.
         */
        public static final <E> Class<E>[] assertClassArrayArgIsType(String 
name, Class<E> type, Class<?>[] value) throws IllegalArgumentException {
-               for (int i = 0; i < value.length; i++)
+               for (var i = 0; i < value.length; i++)
                        if (! type.isAssignableFrom(value[i]))
                                throw new IllegalArgumentException("Arg 
"+name+" did not have arg of type "+type.getName()+" at index "+i+": 
"+value[i].getName());
                return (Class<E>[])value;
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiMap.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiMap.java
index e3ff86c9c..c7d62453a 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiMap.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiMap.java
@@ -74,7 +74,7 @@ public final class AsciiMap {
        public boolean contains(CharSequence s) {
                if (s == null)
                        return false;
-               for (int i = 0; i < s.length(); i++)
+               for (var i = 0; i < s.length(); i++)
                        if (contains(s.charAt(i)))
                                return true;
                return false;
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiSet.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiSet.java
index 51cdbec0a..4f764ec26 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiSet.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/AsciiSet.java
@@ -60,7 +60,7 @@ public final class AsciiSet {
                 * @return This object.
                 */
                public AsciiSet.Builder range(char start, char end) {
-                       for (char c = start; c <= end; c++)
+                       for (var c = start; c <= end; c++)
                                if (c < 128)
                                        store[c] = true;
                        return this;
@@ -73,7 +73,7 @@ public final class AsciiSet {
                 * @return This object.
                 */
                public AsciiSet.Builder ranges(String...s) {
-                       for (String ss : s) {
+                       for (var ss : s) {
                                if (ss.length() != 3 || ss.charAt(1) != '-')
                                        throw new 
IllegalArgumentException("Value passed to ranges() must be 3 characters");
                                range(ss.charAt(0), ss.charAt(2));
@@ -88,8 +88,8 @@ public final class AsciiSet {
                 * @return This object.
                 */
                public AsciiSet.Builder chars(String chars) {
-                       for (int i = 0; i < chars.length(); i++) {
-                               char c = chars.charAt(i);
+                       for (var i = 0; i < chars.length(); i++) {
+                               var c = chars.charAt(i);
                                if (c < 128)
                                        store[c] = true;
                        }
@@ -103,7 +103,7 @@ public final class AsciiSet {
                 * @return This object.
                 */
                public Builder chars(char...chars) {
-                       for (int i = 0; i < chars.length; i++)
+                       for (var i = 0; i < chars.length; i++)
                                if (chars[i] < 128)
                                        store[chars[i]] = true;
                        return this;
@@ -135,7 +135,7 @@ public final class AsciiSet {
         * @return A builder initialized to the same characters in the copied 
set.
         */
        public AsciiSet.Builder copy() {
-               Builder b = new Builder();
+               var b = new Builder();
                System.arraycopy(store, 0, b.store, 0, 128);
                return b;
        }
@@ -174,7 +174,7 @@ public final class AsciiSet {
        public boolean contains(CharSequence s) {
                if (s == null)
                        return false;
-               for (int i = 0; i < s.length(); i++)
+               for (var i = 0; i < s.length(); i++)
                        if (contains(s.charAt(i)))
                                return true;
                return false;
@@ -192,7 +192,7 @@ public final class AsciiSet {
        public boolean containsOnly(String s) {
                if (s == null)
                        return false;
-               for (int i = 0; i < s.length(); i++)
+               for (var i = 0; i < s.length(); i++)
                        if (! contains(s.charAt(i)))
                                return false;
                return true;
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/IOUtils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/IOUtils.java
index 0d864123a..f72de13fa 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/IOUtils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/IOUtils.java
@@ -99,7 +99,7 @@ public final class IOUtils {
        public static long pipe(Reader in, File out) throws IOException {
                if (out == null || in == null)
                        return 0;
-               try (Writer w = 
FileWriterBuilder.create(out).buffered().build()) {
+               try (var w = FileWriterBuilder.create(out).buffered().build()) {
                        return pipe(in, w);
                }
        }
@@ -123,8 +123,8 @@ public final class IOUtils {
                if (out == null || in == null)
                        return 0;
                long total = 0;
-               try (Reader in2 = in) {
-                       char[] buffer = charBuffer(-1);
+               try (var in2 = in) {
+                       var buffer = charBuffer(-1);
                        int readLen;
                        while ((readLen = in.read(buffer)) != -1) {
                                out.write(buffer, 0, readLen);
@@ -180,11 +180,11 @@ public final class IOUtils {
        public static long pipeLines(Reader in, Writer out) throws IOException {
                if (in == null || out == null)
                        return 0;
-               long total = 0;
-               try (Reader in2 = in) {
-                       try (Scanner s = new Scanner(in2)) {
+               var total = 0l;
+               try (var in2 = in) {
+                       try (var s = new Scanner(in2)) {
                                while (s.hasNextLine()) {
-                                       String l = s.nextLine();
+                                       var l = s.nextLine();
                                        if (l != null) {
                                                out.write(l);
                                                out.write("\n");
@@ -262,7 +262,7 @@ public final class IOUtils {
         * @throws IOException If thrown from either stream.
         */
        public static long pipe(InputStream in, OutputStream out) throws 
IOException {
-               try (InputStream in2 = in) {
+               try (var in2 = in) {
                        return pipe(in, out, -1);
                }
        }
@@ -286,7 +286,7 @@ public final class IOUtils {
         */
        public static long pipe(InputStream in, OutputStream out, 
Consumer<IOException> onException) {
                try {
-                       try (InputStream in2 = in) {
+                       try (var in2 = in) {
                                return pipe(in, out, -1);
                        }
                } catch (IOException e) {
@@ -317,16 +317,16 @@ public final class IOUtils {
        public static long pipe(InputStream in, OutputStream out, long 
maxBytes) throws IOException {
                if (in == null || out == null)
                        return 0;
-               byte[] buffer = byteBuffer((int)maxBytes);
+               var buffer = byteBuffer((int)maxBytes);
                int readLen;
-               long total = 0;
+               var total = 0l;
                if (maxBytes < 0) {
                        while ((readLen = in.read(buffer)) != -1) {
                                out.write(buffer, 0, readLen);
                                total += readLen;
                        }
                } else {
-                       long remaining = maxBytes;
+                       var remaining = maxBytes;
                        while (remaining > 0) {
                                readLen = in.read(buffer, 0, 
buffSize(remaining));
                                if (readLen == -1)
@@ -357,11 +357,11 @@ public final class IOUtils {
        public static long pipe(Reader in, OutputStream out) throws IOException 
{
                if (in == null || out == null)
                        return 0;
-               long total = 0;
-               try (Reader in2 = in) {
-                       OutputStreamWriter osw = new OutputStreamWriter(out, 
UTF8);
-                       int i;
-                       char[] b = charBuffer(-1);
+               var total = 0l;
+               try (var in2 = in) {
+                       var osw = new OutputStreamWriter(out, UTF8);
+                       var i = 0;
+                       var b = charBuffer(-1);
                        while ((i = in.read(b)) > 0) {
                                total += i;
                                osw.write(b, 0, i);
@@ -493,7 +493,7 @@ public final class IOUtils {
        public static String read(File in) throws IOException {
                if (in == null || ! in.exists())
                        return null;
-               try (Reader r = FileReaderBuilder.create(in).build()) {
+               try (var r = FileReaderBuilder.create(in).build()) {
                        return read(r, in.length());
                }
        }
@@ -516,7 +516,7 @@ public final class IOUtils {
                if (in == null || !Files.exists(in)) {
                        return null;
                }
-               try (Reader r = PathReaderBuilder.create(in).build()) {
+               try (var r = PathReaderBuilder.create(in).build()) {
                        return read(r, Files.size(in));
                }
        }
@@ -533,7 +533,7 @@ public final class IOUtils {
         * @throws IOException If a problem occurred trying to read from the 
reader.
         */
        public static String read(Reader in) throws IOException {
-               try (Reader in2 = in) {
+               try (var in2 = in) {
                        return read(in, -1);
                }
        }
@@ -550,7 +550,7 @@ public final class IOUtils {
         *      The contents of the reader as a string, or <jk>null</jk> if the 
reader was <jk>null</jk>.
         */
        public static String read(Reader in, Consumer<IOException> onException) 
{
-               try (Reader in2 = in) {
+               try (var in2 = in) {
                        return read(in, -1);
                } catch (IOException e) {
                        onException.accept(e);
@@ -574,10 +574,10 @@ public final class IOUtils {
        public static String read(Reader in, long expectedLength) throws 
IOException {
                if (in == null)
                        return null;
-               try (Reader in2 = in) {
-                       StringBuilder sb = new 
StringBuilder(buffSize(expectedLength)); // Assume they're ASCII characters.
-                       char[] buf = charBuffer((int)expectedLength);
-                       int i = 0;
+               try (var in2 = in) {
+                       var sb = new StringBuilder(buffSize(expectedLength)); 
// Assume they're ASCII characters.
+                       var buf = charBuffer((int)expectedLength);
+                       var i = 0;
                        while ((i = in2.read(buf)) != -1)
                                sb.append(buf, 0, i);
                        return sb.toString();
@@ -636,7 +636,7 @@ public final class IOUtils {
        public static String read(InputStream in, Charset cs) throws 
IOException {
                if (in == null)
                        return null;
-               try (InputStreamReader isr = new InputStreamReader(in, cs)) {
+               try (var isr = new InputStreamReader(in, cs)) {
                        return read(isr);
                }
        }
@@ -657,7 +657,7 @@ public final class IOUtils {
        public static String read(InputStream in, Charset cs, 
Consumer<IOException> onException) {
                if (in == null)
                        return null;
-               try (InputStreamReader isr = new InputStreamReader(in, cs)) {
+               try (var isr = new InputStreamReader(in, cs)) {
                        return read(isr);
                } catch (IOException e) {
                        onException.accept(e);
@@ -676,7 +676,7 @@ public final class IOUtils {
         * @throws IOException Thrown by underlying stream.
         */
        public static byte[] readBytes(InputStream in) throws IOException {
-               try (InputStream in2 = in) {
+               try (var in2 = in) {
                        return readBytes(in2, -1);
                }
        }
@@ -696,9 +696,9 @@ public final class IOUtils {
        public static byte[] readBytes(InputStream in, int maxBytes) throws 
IOException {
                if (in == null)
                        return new byte[0];
-               ByteArrayOutputStream buff = new 
ByteArrayOutputStream(buffSize(maxBytes));
+               var buff = new ByteArrayOutputStream(buffSize(maxBytes));
                int nRead;
-               byte[] b = byteBuffer(maxBytes);
+               var b = byteBuffer(maxBytes);
                while ((nRead = in.read(b, 0, b.length)) != -1)
                        buff.write(b, 0, nRead);
                buff.flush();
@@ -730,7 +730,7 @@ public final class IOUtils {
        public static byte[] readBytes(File in, int maxBytes) throws 
IOException {
                if (in == null || ! (in.exists() && in.canRead()))
                        return new byte[0];
-               try (FileInputStream is = new FileInputStream(in)) {
+               try (var is = new FileInputStream(in)) {
                        return readBytes(is, maxBytes);
                }
        }
@@ -748,7 +748,7 @@ public final class IOUtils {
        public static byte[] readBytes(Reader in) throws IOException {
                if (in == null)
                        return new byte[0];
-               try (Reader in2 = in) {
+               try (var in2 = in) {
                        return read(in2, -1).getBytes();
                }
        }
@@ -781,7 +781,7 @@ public final class IOUtils {
        public static long count(InputStream is) throws IOException {
                if (is == null)
                        return 0;
-               long c = 0;
+               var c = 0l;
                long i;
                try {
                        while ((i = is.skip(1024)) != 0)
@@ -802,7 +802,7 @@ public final class IOUtils {
        public static long count(Reader r) throws IOException {
                if (r == null)
                        return 0;
-               long c = 0;
+               var c = 0l;
                long i;
                try {
                        while ((i = r.skip(1024)) != 0)
@@ -879,7 +879,7 @@ public final class IOUtils {
         * @param o The list of all objects to quietly close.
         */
        public static void closeQuietly(Object...o) {
-               for (Object o2 : o) {
+               for (var o2 : o) {
                        if (o2 instanceof InputStream o3)
                                closeQuietly(o3);
                        if (o2 instanceof OutputStream o3)
@@ -901,7 +901,7 @@ public final class IOUtils {
         */
        public static void flush(Object...o) throws IOException {
                IOException ex = null;
-               for (Object o2 : o) {
+               for (var o2 : o) {
                        try {
                                if (o2 instanceof OutputStream o3)
                                        o3.flush();
@@ -925,7 +925,7 @@ public final class IOUtils {
         */
        public static void close(Object...o) throws IOException {
                IOException ex = null;
-               for (Object o2 : o) {
+               for (var o2 : o) {
                        try {
                                if (o2 instanceof InputStream o3)
                                        o3.close();
@@ -952,24 +952,24 @@ public final class IOUtils {
         * @throws IOException Thrown by underlying stream.
         */
        public static String loadSystemResourceAsString(String name, 
String...paths) throws IOException {
-               for (String path : paths) {
-                       File p = new File(path);
+               for (var path : paths) {
+                       var p = new File(path);
                        if (p.exists()) {
-                               File f = new File(p, name);
+                               var f = new File(p, name);
                                if (f.exists() && f.canRead())
                                        return read(f);
                        }
                }
-               ClassLoader cl = Thread.currentThread().getContextClassLoader();
+               var cl = Thread.currentThread().getContextClassLoader();
                if (cl == null)
                        cl = ClassLoader.getSystemClassLoader();
-               for (String path : paths) {
-                       String n = ".".equals(path) ? name : path + '/' + name;
-                       try (InputStream is = cl.getResourceAsStream(n)) {
+               for (var path : paths) {
+                       var n = ".".equals(path) ? name : path + '/' + name;
+                       try (var is = cl.getResourceAsStream(n)) {
                                if (is != null)
                                        return read(is);
                        }
-                       try (InputStream is = 
ClassLoader.getSystemResourceAsStream(n)) {
+                       try (var is = ClassLoader.getSystemResourceAsStream(n)) 
{
                                if (is != null)
                                        return read(is);
                        }
@@ -979,7 +979,7 @@ public final class IOUtils {
 
        private static byte[] byteBuffer(int maxBytes) {
                if (BYTE_BUFFER_CACHE != null) {
-                       byte[] x = BYTE_BUFFER_CACHE.get();
+                       var x = BYTE_BUFFER_CACHE.get();
                        if (x == null) {
                                x = new byte[BUFF_SIZE];
                                BYTE_BUFFER_CACHE.set(x);
@@ -994,7 +994,7 @@ public final class IOUtils {
 
        private static char[] charBuffer(int maxChars) {
                if (CHAR_BUFFER_CACHE != null) {
-                       char[] x = CHAR_BUFFER_CACHE.get();
+                       var x = CHAR_BUFFER_CACHE.get();
                        if (x == null) {
                                x = new char[BUFF_SIZE];
                                CHAR_BUFFER_CACHE.set(x);
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/StringUtils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/StringUtils.java
index 5a64ce324..dd0f5deb7 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/StringUtils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/StringUtils.java
@@ -16,6 +16,7 @@ import static org.apache.juneau.common.internal.ArgUtils.*;
 import static org.apache.juneau.common.internal.IOUtils.*;
 import static org.apache.juneau.common.internal.ThrowableUtils.*;
 import static java.nio.charset.StandardCharsets.*;
+import static java.lang.Character.*;
 
 import java.io.*;
 import java.lang.reflect.*;
@@ -73,7 +74,7 @@ public final class StringUtils {
        // Maps BASE64 characters to 6-bit nibbles.
        private static final byte[] base64m2 = new byte[128];
        static {
-               for (int i = 0; i < 64; i++)
+               for (var i = 0; i < 64; i++)
                        base64m2[base64m1[i]] = (byte)i;
        }
 
@@ -108,8 +109,8 @@ public final class StringUtils {
                        type = Number.class;
 
                // Determine the data type if it wasn't specified.
-               boolean isAutoDetect = (type == Number.class);
-               boolean isDecimal = false;
+               var isAutoDetect = (type == Number.class);
+               var isDecimal = false;
                if (isAutoDetect) {
                        // If we're auto-detecting, then we use either an 
Integer, Long, or Double depending on how
                        // long the string is.
@@ -131,8 +132,8 @@ public final class StringUtils {
                }
 
                if (type == Double.class || type == Double.TYPE) {
-                       Double d = Double.valueOf(s);
-                       Float f = Float.valueOf(s);
+                       var d = Double.valueOf(s);
+                       var f = Float.valueOf(s);
                        if (isAutoDetect && (!isDecimal) && 
d.toString().equals(f.toString()))
                                return f;
                        return d;
@@ -143,7 +144,7 @@ public final class StringUtils {
                        return new BigDecimal(s);
                if (type == Long.class || type == Long.TYPE || type == 
AtomicLong.class) {
                        try {
-                               Long l = Long.decode(s);
+                               var l = Long.decode(s);
                                if (type == AtomicLong.class)
                                        return new AtomicLong(l);
                                if (isAutoDetect && l >= Integer.MIN_VALUE && l 
<= Integer.MAX_VALUE) {
@@ -185,7 +186,7 @@ public final class StringUtils {
        public static Character parseCharacter(Object o) {
                if (o == null)
                        return null;
-               String s = o.toString();
+               var s = o.toString();
                if (s.isEmpty())
                        return null;
                if (s.length() == 1)
@@ -226,9 +227,9 @@ public final class StringUtils {
                        return false;
                if (! firstNumberChars.contains(s.charAt(0)))
                        return (s.equals("NaN") || s.equals("Infinity"));
-               int i = 0;
-               int length = s.length();
-               char c = s.charAt(0);
+               var i = 0;
+               var length = s.length();
+               var c = s.charAt(0);
                if (c == '+' || c == '-')
                        i++;
                if (i == length)
@@ -249,10 +250,10 @@ public final class StringUtils {
        public static boolean isDecimal(String s) {
                if (s == null || s.isEmpty() || ! 
firstNumberChars.contains(s.charAt(0)))
                        return false;
-               int i = 0;
-               int length = s.length();
-               char c = s.charAt(0);
-               boolean isPrefixed = false;
+               var i = 0;
+               var length = s.length();
+               var c = s.charAt(0);
+               var isPrefixed = false;
                if (c == '+' || c == '-') {
                        isPrefixed = true;
                        i++;
@@ -299,8 +300,8 @@ public final class StringUtils {
        public static String join(Object[] tokens, String separator) {
                if (tokens == null)
                        return null;
-               StringBuilder sb = new StringBuilder();
-               for (int i = 0; i < tokens.length; i++) {
+               var sb = new StringBuilder();
+               for (var i = 0; i < tokens.length; i++) {
                        if (i > 0)
                                sb.append(separator);
                        sb.append(tokens[i]);
@@ -345,7 +346,7 @@ public final class StringUtils {
        public static StringBuilder join(Collection<?> tokens, String d, 
StringBuilder sb) {
                if (tokens == null)
                        return sb;
-               for (Iterator<?> iter = tokens.iterator(); iter.hasNext();) {
+               for (var iter = tokens.iterator(); iter.hasNext();) {
                        sb.append(iter.next());
                        if (iter.hasNext())
                                sb.append(d);
@@ -403,7 +404,7 @@ public final class StringUtils {
        public static StringBuilder join(Object[] tokens, char d, StringBuilder 
sb) {
                if (tokens == null)
                        return sb;
-               for (int i = 0; i < tokens.length; i++) {
+               for (var i = 0; i < tokens.length; i++) {
                        if (i > 0)
                                sb.append(d);
                        sb.append(tokens[i]);
@@ -421,8 +422,8 @@ public final class StringUtils {
        public static String join(int[] tokens, char d) {
                if (tokens == null)
                        return null;
-               StringBuilder sb = new StringBuilder();
-               for (int i = 0; i < tokens.length; i++) {
+               var sb = new StringBuilder();
+               for (var i = 0; i < tokens.length; i++) {
                        if (i > 0)
                                sb.append(d);
                        sb.append(tokens[i]);
@@ -440,8 +441,8 @@ public final class StringUtils {
        public static String join(Collection<?> tokens, char d) {
                if (tokens == null)
                        return null;
-               StringBuilder sb = new StringBuilder();
-               for (Iterator<?> iter = tokens.iterator(); iter.hasNext();) {
+               var sb = new StringBuilder();
+               for (var iter = tokens.iterator(); iter.hasNext();) {
                        sb.append(iter.next());
                        if (iter.hasNext())
                                sb.append(d);
@@ -459,7 +460,7 @@ public final class StringUtils {
        public static String join(List<?> tokens, char d) {
                if (tokens == null)
                        return null;
-               StringBuilder sb = new StringBuilder();
+               var sb = new StringBuilder();
                for (int i = 0, j = tokens.size(); i < j; i++) {
                        if (i > 0)
                                sb.append(d);
@@ -478,8 +479,8 @@ public final class StringUtils {
        public static String joine(List<?> tokens, char d) {
                if (tokens == null)
                        return null;
-               AsciiSet as = getEscapeSet(d);
-               StringBuilder sb = new StringBuilder();
+               var as = getEscapeSet(d);
+               var sb = new StringBuilder();
                for (int i = 0, j = tokens.size(); i < j; i++) {
                        if (i > 0)
                                sb.append(d);
@@ -553,7 +554,7 @@ public final class StringUtils {
         * @param consumer The consumer of the tokens.
         */
        public static void split(String s, char c, Consumer<String> consumer) {
-               AsciiSet escapeChars = getEscapeSet(c);
+               var escapeChars = getEscapeSet(c);
 
                if (isEmpty(s))
                        return;
@@ -562,21 +563,23 @@ public final class StringUtils {
                        return;
                }
 
-               int x1 = 0, escapeCount = 0;
-               for (int i = 0; i < s.length(); i++) {
+               var x1 = 0;
+               var escapeCount = 0;
+
+               for (var i = 0; i < s.length(); i++) {
                        if (s.charAt(i) == '\\')
                                escapeCount++;
                        else if (s.charAt(i)==c && escapeCount % 2 == 0) {
-                               String s2 = s.substring(x1, i);
-                               String s3 = unEscapeChars(s2, escapeChars);
+                               var s2 = s.substring(x1, i);
+                               var s3 = unEscapeChars(s2, escapeChars);
                                consumer.accept(s3.trim());  // NOSONAR - NPE 
not possible.
                                x1 = i+1;
                        }
                        if (s.charAt(i) != '\\')
                                escapeCount = 0;
                }
-               String s2 = s.substring(x1);
-               String s3 = unEscapeChars(s2, escapeChars);
+               var s2 = s.substring(x1);
+               var s3 = unEscapeChars(s2, escapeChars);
                consumer.accept(s3.trim());  // NOSONAR - NPE not possible.
        }
 
@@ -590,7 +593,7 @@ public final class StringUtils {
         */
        public static String[] split(String s, char c, int limit) {
 
-               AsciiSet escapeChars = getEscapeSet(c);
+               var escapeChars = getEscapeSet(c);
 
                if (s == null)
                        return null;  // NOSONAR - Intentional.
@@ -599,16 +602,17 @@ public final class StringUtils {
                if (s.indexOf(c) == -1)
                        return new String[]{s};
 
-               List<String> l = new LinkedList<>();
-               char[] sArray = s.toCharArray();
-               int x1 = 0, escapeCount = 0;
+               var l = new LinkedList<String>();
+               var sArray = s.toCharArray();
+               var x1 = 0;
+               var escapeCount = 0;
                limit--;
-               for (int i = 0; i < sArray.length && limit > 0; i++) {
+               for (var i = 0; i < sArray.length && limit > 0; i++) {
                        if (sArray[i] == '\\')
                                escapeCount++;
                        else if (sArray[i]==c && escapeCount % 2 == 0) {
-                               String s2 = new String(sArray, x1, i-x1);
-                               String s3 = unEscapeChars(s2, escapeChars);
+                               var s2 = new String(sArray, x1, i-x1);
+                               var s3 = unEscapeChars(s2, escapeChars);
                                l.add(s3.trim());
                                limit--;
                                x1 = i+1;
@@ -616,8 +620,8 @@ public final class StringUtils {
                        if (sArray[i] != '\\')
                                escapeCount = 0;
                }
-               String s2 = new String(sArray, x1, sArray.length-x1);
-               String s3 = unEscapeChars(s2, escapeChars);
+               var s2 = new String(sArray, x1, sArray.length-x1);
+               var s3 = unEscapeChars(s2, escapeChars);
                l.add(s3.trim());
 
                return l.toArray(new String[l.size()]);
@@ -633,8 +637,8 @@ public final class StringUtils {
        public static String[] split(String[] s, char c) {
                if (s == null)
                        return null;  // NOSONAR - Intentional.
-               List<String> l = new LinkedList<>();
-               for (String ss : s) {
+               var l = new LinkedList<String>();
+               for (var ss : s) {
                        if (ss == null || ss.indexOf(c) == -1)
                                l.add(ss);
                        else
@@ -664,19 +668,20 @@ public final class StringUtils {
                if (isEmpty(s))
                        return Collections.emptyMap();
 
-               Map<String,String> m = new LinkedHashMap<>();
+               var m = new LinkedHashMap<String,String>();
 
                final int
                        S1 = 1,  // Found start of key, looking for equals.
                        S2 = 2;  // Found equals, looking for delimiter (or 
end).
 
-               int state = S1;
+               var state = S1;
 
-               char[] sArray = s.toCharArray();
-               int x1 = 0, escapeCount = 0;
+               var sArray = s.toCharArray();
+               var x1 = 0;
+               var escapeCount = 0;
                String key = null;
-               for (int i = 0; i < sArray.length + 1; i++) {
-                       char c = i == sArray.length ? ',' : sArray[i];
+               for (var i = 0; i < sArray.length + 1; i++) {
+                       var c = i == sArray.length ? ',' : sArray[i];
                        if (c == '\\')
                                escapeCount++;
                        if (escapeCount % 2 == 0) {
@@ -699,7 +704,7 @@ public final class StringUtils {
                                        }
                                } else if (state == S2) {
                                        if (c == ',') {  // NOSONAR - 
Intentional.
-                                               String val = s.substring(x1, i);
+                                               var val = s.substring(x1, i);
                                                if (trim)
                                                        val = trim(val);
                                                val = unEscapeChars(val, 
MAP_ESCAPE_SET);
@@ -732,8 +737,8 @@ public final class StringUtils {
                if (s == null)
                        return false;
                for (int i = 0, j = s.length(); i < j; i++) {
-                       char c = s.charAt(i);
-                       for (char c2 : chars)
+                       var c = s.charAt(i);
+                       for (var c2 : chars)
                                if (c == c2)
                                        return true;
                }
@@ -791,14 +796,15 @@ public final class StringUtils {
                        S3 = 3,  // Found ", looking for end "
                        S4 = 4;  // Found non-whitespace, looking for end 
whitespace.
 
-               int state = S1;
+               var state = S1;
 
-               boolean isInEscape = false, needsUnescape = false;
-               int mark = 0;
+               var isInEscape = false;
+               var needsUnescape = false;
+               var mark = 0;
 
-               List<String> l = new ArrayList<>();
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               var l = new ArrayList<String>();
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
 
                        if (state == S1) {
                                if (c == '\'') {
@@ -817,7 +823,7 @@ public final class StringUtils {
                                        needsUnescape = ! keepQuotes;
                                } else if (! isInEscape) {
                                        if (c == (state == S2 ? '\'' : '"')) {
-                                               String s2 = s.substring(mark, 
keepQuotes ? i+1 : i);
+                                               var s2 = s.substring(mark, 
keepQuotes ? i+1 : i);
                                                if (needsUnescape)  // NOSONAR 
- False positive check.
                                                        s2 = unEscapeChars(s2, 
QUOTE_ESCAPE_SET);
                                                l.add(s2);
@@ -930,7 +936,6 @@ public final class StringUtils {
                return o.toString();
        }
 
-
        /**
         * Removes escape characters from the specified characters.
         *
@@ -941,19 +946,19 @@ public final class StringUtils {
        public static String unEscapeChars(String s, AsciiSet escaped) {
                if (s == null || s.isEmpty())
                        return s;
-               int count = 0;
-               for (int i = 0; i < s.length(); i++)
+               var count = 0;
+               for (var i = 0; i < s.length(); i++)
                        if (escaped.contains(s.charAt(i)))
                                count++;
                if (count == 0)
                        return s;
-               StringBuffer sb = new StringBuffer(s.length()-count);
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               var sb = new StringBuffer(s.length()-count);
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
 
                        if (c == '\\') {
                                if (i+1 != s.length()) {  // NOSONAR - 
Intentional.
-                                       char c2 = s.charAt(i+1);
+                                       var c2 = s.charAt(i+1);
                                        if (escaped.contains(c2)) {
                                                i++;  // NOSONAR - Intentional.
                                        } else if (c2 == '\\') {
@@ -978,16 +983,16 @@ public final class StringUtils {
                if (s == null || s.isEmpty())
                        return s;
 
-               int count = 0;
-               for (int i = 0; i < s.length(); i++)
+               var count = 0;
+               for (var i = 0; i < s.length(); i++)
                        if (escaped.contains(s.charAt(i)))
                                count++;
                if (count == 0)
                        return s;
 
-               StringBuffer sb = new StringBuffer(s.length() + count);
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               var sb = new StringBuffer(s.length() + count);
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
                        if (escaped.contains(c))
                                sb.append('\\');
                        sb.append(c);
@@ -1004,8 +1009,8 @@ public final class StringUtils {
        public static String decodeHex(String s) {
                if (s == null)
                        return null;
-               StringBuilder sb = new StringBuilder();
-               for (char c : s.toCharArray()) {
+               var sb = new StringBuilder();
+               for (var c : s.toCharArray()) {
                        if (c < ' ' || c > '~')
                                
sb.append("[").append(Integer.toHexString(c)).append("]");
                        else
@@ -1023,7 +1028,7 @@ public final class StringUtils {
         */
        public static boolean startsWith(String s, char c) {
                if (s != null) {
-                       int i = s.length();
+                       var i = s.length();
                        if (i > 0)
                                return s.charAt(0) == c;
                }
@@ -1039,7 +1044,7 @@ public final class StringUtils {
         */
        public static boolean endsWith(String s, char c) {
                if (s != null) {
-                       int i = s.length();
+                       var i = s.length();
                        if (i > 0)
                                return s.charAt(i-1) == c;
                }
@@ -1055,10 +1060,10 @@ public final class StringUtils {
         */
        public static boolean endsWith(String s, char...c) {
                if (s != null) {
-                       int i = s.length();
+                       var i = s.length();
                        if (i > 0) {
-                               char c2 = s.charAt(i-1);
-                               for (char cc : c)
+                               var c2 = s.charAt(i-1);
+                               for (var cc : c)
                                        if (c2 == cc)
                                                return true;
                        }
@@ -1075,8 +1080,8 @@ public final class StringUtils {
        public static char[] toHex2(int num) {
                if (num < 0 || num > 255)
                        throw new NumberFormatException("toHex2 can only be 
used on numbers between 0 and 255");
-               char[] n = new char[2];
-               int a = num%16;
+               var n = new char[2];
+               var a = num%16;
                n[1] = (char)(a > 9 ? 'A'+a-10 : '0'+a);
                a = (num/16)%16;
                n[0] = (char)(a > 9 ? 'A'+a-10 : '0'+a);
@@ -1092,8 +1097,8 @@ public final class StringUtils {
         * @return A <code><jk>char</jk>[2]</code> containing the specified 
characters.
         */
        public static String toHex(byte b) {
-               char[] c = new char[2];
-               int v = b & 0xFF;
+               var c = new char[2];
+               var v = b & 0xFF;
                c[0] = hexArray[v >>> 4];
                c[1] = hexArray[v & 0x0F];
                return new String(c);
@@ -1106,11 +1111,11 @@ public final class StringUtils {
         * @return A <code><jk>char</jk>[2]</code> containing the specified 
characters.
         */
        public static String toReadableBytes(byte[] b) {
-               StringBuilder sb = new StringBuilder();
-               for (byte b2 : b)
+               var sb = new StringBuilder();
+               for (var b2 : b)
                        sb.append((b2 < ' ' || b2 > 'z') ? 
String.format("[%02X]", b2) : (char)b2 + "   ");
                sb.append("\n");
-               for (byte b2 : b)
+               for (var b2 : b)
                        sb.append(String.format("[%02X]", b2));
                return sb.toString();
        }
@@ -1122,11 +1127,11 @@ public final class StringUtils {
         * @return A <code><jk>char</jk>[4]</code> containing the specified 
characters.
         */
        public static char[] toHex4(int num) {
-               char[] n = new char[4];
-               int a = num%16;
+               var n = new char[4];
+               var a = num%16;
                n[3] = (char)(a > 9 ? 'A'+a-10 : '0'+a);
-               int base = 16;
-               for (int i = 1; i < 4; i++) {
+               var base = 16;
+               for (var i = 1; i < 4; i++) {
                        a = (num/base)%16;
                        base <<= 4;
                        n[3-i] = (char)(a > 9 ? 'A'+a-10 : '0'+a);
@@ -1141,11 +1146,11 @@ public final class StringUtils {
         * @return A <code><jk>char</jk>[8]</code> containing the specified 
characters.
         */
        public static char[] toHex8(long num) {
-               char[] n = new char[8];
-               long a = num%16;
+               var n = new char[8];
+               var a = num%16;
                n[7] = (char)(a > 9 ? 'A'+a-10 : '0'+a);
-               int base = 16;
-               for (int i = 1; i < 8; i++) {
+               var base = 16;
+               for (var i = 1; i < 8; i++) {
                        a = (num/base)%16;
                        base <<= 4;
                        n[7-i] = (char)(a > 9 ? 'A'+a-10 : '0'+a);
@@ -1190,10 +1195,10 @@ public final class StringUtils {
        public static int diffPosition(String s1, String s2) {
                s1 = emptyIfNull(s1);
                s2 = emptyIfNull(s2);
-               int i = 0;
-               int len = Math.min(s1.length(), s2.length());
+               var i = 0;
+               var len = Math.min(s1.length(), s2.length());
                while (i < len) {
-                       int j = s1.charAt(i) - s2.charAt(i);
+                       var j = s1.charAt(i) - s2.charAt(i);
                        if (j != 0)
                                return i;
                        i++;
@@ -1213,10 +1218,10 @@ public final class StringUtils {
        public static int diffPositionIc(String s1, String s2) {
                s1 = emptyIfNull(s1);
                s2 = emptyIfNull(s2);
-               int i = 0;
-               int len = Math.min(s1.length(), s2.length());
+               var i = 0;
+               var len = Math.min(s1.length(), s2.length());
                while (i < len) {
-                       int j = Character.toLowerCase(s1.charAt(i)) - 
Character.toLowerCase(s2.charAt(i));
+                       var j = toLowerCase(s1.charAt(i)) - 
toLowerCase(s2.charAt(i));
                        if (j != 0)
                                return i;
                        i++;
@@ -1284,18 +1289,18 @@ public final class StringUtils {
        public static String base64Encode(byte[] in) {
                if (in == null)
                        return null;
-               int outLength = (in.length * 4 + 2) / 3;   // Output length 
without padding
-               char[] out = new char[((in.length + 2) / 3) * 4];  // Length 
includes padding.
-               int iIn = 0;
-               int iOut = 0;
+               var outLength = (in.length * 4 + 2) / 3;   // Output length 
without padding
+               var out = new char[((in.length + 2) / 3) * 4];  // Length 
includes padding.
+               var iIn = 0;
+               var iOut = 0;
                while (iIn < in.length) {
-                       int i0 = in[iIn++] & 0xff;
-                       int i1 = iIn < in.length ? in[iIn++] & 0xff : 0;
-                       int i2 = iIn < in.length ? in[iIn++] & 0xff : 0;
-                       int o0 = i0 >>> 2;
-                       int o1 = ((i0 & 3) << 4) | (i1 >>> 4);
-                       int o2 = ((i1 & 0xf) << 2) | (i2 >>> 6);
-                       int o3 = i2 & 0x3F;
+                       var i0 = in[iIn++] & 0xff;
+                       var i1 = iIn < in.length ? in[iIn++] & 0xff : 0;
+                       var i2 = iIn < in.length ? in[iIn++] & 0xff : 0;
+                       var o0 = i0 >>> 2;
+                       var o1 = ((i0 & 3) << 4) | (i1 >>> 4);
+                       var o2 = ((i1 & 0xf) << 2) | (i2 >>> 6);
+                       var o3 = i2 & 0x3F;
                        out[iOut++] = base64m1[o0];
                        out[iOut++] = base64m1[o1];
                        out[iOut] = iOut < outLength ? base64m1[o2] : '=';
@@ -1313,7 +1318,7 @@ public final class StringUtils {
         * @return The decoded string.
         */
        public static String base64DecodeToString(String in) {
-               byte[] b = base64Decode(in);
+               var b = base64Decode(in);
                if (b == null)
                        return null;
                return new String(b, IOUtils.UTF8);
@@ -1329,31 +1334,31 @@ public final class StringUtils {
                if (in == null)
                        return null;  // NOSONAR - Intentional.
 
-               byte[] bIn = in.getBytes(IOUtils.UTF8);
+               var bIn = in.getBytes(IOUtils.UTF8);
 
                assertArg(bIn.length % 4 == 0, "Invalid BASE64 string length.  
Must be multiple of 4.");
 
                // Strip out any trailing '=' filler characters.
-               int inLength = bIn.length;
+               var inLength = bIn.length;
                while (inLength > 0 && bIn[inLength - 1] == '=')
                        inLength--;
 
-               int outLength = (inLength * 3) / 4;
-               byte[] out = new byte[outLength];
-               int iIn = 0;
-               int iOut = 0;
+               var outLength = (inLength * 3) / 4;
+               var out = new byte[outLength];
+               var iIn = 0;
+               var iOut = 0;
                while (iIn < inLength) {
-                       int i0 = bIn[iIn++];
-                       int i1 = bIn[iIn++];
-                       int i2 = iIn < inLength ? bIn[iIn++] : 'A';
-                       int i3 = iIn < inLength ? bIn[iIn++] : 'A';
-                       int b0 = base64m2[i0];
-                       int b1 = base64m2[i1];
-                       int b2 = base64m2[i2];
+                       var i0 = bIn[iIn++];
+                       var i1 = bIn[iIn++];
+                       var i2 = iIn < inLength ? bIn[iIn++] : 'A';
+                       var i3 = iIn < inLength ? bIn[iIn++] : 'A';
+                       var b0 = base64m2[i0];
+                       var b1 = base64m2[i1];
+                       var b2 = base64m2[i2];
                        int b3 = base64m2[i3];
-                       int o0 = (b0 << 2) | (b1 >>> 4);
-                       int o1 = ((b1 & 0xf) << 4) | (b2 >>> 2);
-                       int o2 = ((b2 & 3) << 6) | b3;
+                       var o0 = (b0 << 2) | (b1 >>> 4);
+                       var o1 = ((b1 & 0xf) << 4) | (b2 >>> 2);
+                       var o2 = ((b2 & 3) << 6) | b3;
                        out[iOut++] = (byte)o0;
                        if (iOut < outLength)
                                out[iOut++] = (byte)o1;
@@ -1386,9 +1391,9 @@ public final class StringUtils {
         * @return A new random UUID.
         */
        public static String random(int numchars) {
-               StringBuilder sb = new StringBuilder(numchars);
-               for (int i = 0; i < numchars; i++) {
-                       int c = RANDOM.nextInt(36) + 97;
+               var sb = new StringBuilder(numchars);
+               for (var i = 0; i < numchars; i++) {
+                       var c = RANDOM.nextInt(36) + 97;
                        if (c > 'z')
                                c -= ('z'-'0'+1);
                        sb.append((char)c);
@@ -1515,14 +1520,15 @@ public final class StringUtils {
                        S1 = 1,    // Not in variable, looking for '{'
                        S2 = 2;    // Found '{', Looking for '}'
 
-               int state = S1;
-               boolean hasInternalVar = false;
-               int x = 0;
-               int depth = 0;
-               int length = s.length();
-               StringBuilder out = new StringBuilder();
-               for (int i = 0; i < length; i++) {
-                       char c = s.charAt(i);
+               var state = S1;
+               var hasInternalVar = false;
+               var x = 0;
+               var depth = 0;
+               var length = s.length();
+               var out = new StringBuilder();
+
+               for (var i = 0; i < length; i++) {
+                       var c = s.charAt(i);
                        if (state == S1) {
                                if (c == '{') {
                                        state = S2;
@@ -1538,16 +1544,16 @@ public final class StringUtils {
                                        if (depth > 0) {
                                                depth--;
                                        } else {
-                                               String key = s.substring(x+1, 
i);
+                                               var key = s.substring(x+1, i);
                                                key = (hasInternalVar ? 
replaceVars(key, m) : key);
                                                hasInternalVar = false;
                                                if (! m.containsKey(key))
                                                        
out.append('{').append(key).append('}');
                                                else {
-                                                       Object val = m.get(key);
+                                                       var val = m.get(key);
                                                        if (val == null)
                                                                val = "";
-                                                       String v = 
val.toString();
+                                                       var v = val.toString();
                                                        // If the replacement 
also contains variables, replace them now.
                                                        if (v.indexOf('{') != 
-1)
                                                                v = 
replaceVars(v, m);
@@ -1568,15 +1574,19 @@ public final class StringUtils {
         * @return A string with unicode sequences replaced.
         */
        public static String replaceUnicodeSequences(String s) {
+
                if (s.indexOf('\\') == -1)
                        return s;
-               Pattern p = Pattern.compile("\\\\u(\\p{XDigit}{4})");
-               Matcher m = p.matcher(s);
-               StringBuffer sb = new StringBuffer(s.length());
+
+               var p = Pattern.compile("\\\\u(\\p{XDigit}{4})");
+               var m = p.matcher(s);
+               var sb = new StringBuffer(s.length());
+
                while (m.find()) {
-                       String ch = String.valueOf((char) 
Integer.parseInt(m.group(1), 16));
+                       var ch = String.valueOf((char) 
Integer.parseInt(m.group(1), 16));
                        m.appendReplacement(sb, Matcher.quoteReplacement(ch));
                }
+
                m.appendTail(sb);
                return sb.toString();
        }
@@ -1588,9 +1598,9 @@ public final class StringUtils {
         * @return An escaped-unicode sequence.
         */
        public static String unicodeSequence(char c) {
-               StringBuilder sb = new StringBuilder(6);
+               var sb = new StringBuilder(6);
                sb.append('\\').append('u');
-               for (char cc : toHex4(c))
+               for (var cc : toHex4(c))
                        sb.append(cc);
                return sb.toString();
        }
@@ -1640,8 +1650,8 @@ public final class StringUtils {
         * @return The UTF-8 string.
         */
        public static String fromHexToUTF8(String hex) {
-               ByteBuffer buff = ByteBuffer.allocate(hex.length()/2);
-               for (int i = 0; i < hex.length(); i+=2)
+               var buff = ByteBuffer.allocate(hex.length()/2);
+               for (var i = 0; i < hex.length(); i+=2)
                        buff.put((byte)Integer.parseInt(hex.substring(i, i+2), 
16));
                buff.rewind();  // Fixes Java 11 issue.
                return UTF_8.decode(buff).toString();
@@ -1654,8 +1664,8 @@ public final class StringUtils {
         * @return The UTF-8 string.
         */
        public static String fromSpacedHexToUTF8(String hex) {
-               ByteBuffer buff = ByteBuffer.allocate((hex.length()+1)/3);
-               for (int i = 0; i < hex.length(); i+=3)
+               var buff = ByteBuffer.allocate((hex.length()+1)/3);
+               for (var i = 0; i < hex.length(); i+=3)
                        buff.put((byte)Integer.parseInt(hex.substring(i, i+2), 
16));
                buff.rewind();  // Fixes Java 11 issue.
                return UTF_8.decode(buff).toString();
@@ -1670,9 +1680,9 @@ public final class StringUtils {
         * @return A new string consisting of hexadecimal characters.
         */
        public static String toHex(byte[] bytes) {
-               StringBuilder sb = new StringBuilder(bytes.length * 2);
-               for (byte element : bytes) {
-                       int v = element & 0xFF;
+               var sb = new StringBuilder(bytes.length * 2);
+               for (var element : bytes) {
+                       var v = element & 0xFF;
                        sb.append(HEX[v >>> 4]).append(HEX[v & 0x0F]);
                }
                return sb.toString();
@@ -1685,11 +1695,11 @@ public final class StringUtils {
         * @return A new string consisting of hexadecimal characters.
         */
        public static String toSpacedHex(byte[] bytes) {
-               StringBuilder sb = new StringBuilder(bytes.length * 3);
-               for (int j = 0; j < bytes.length; j++) {
+               var sb = new StringBuilder(bytes.length * 3);
+               for (var j = 0; j < bytes.length; j++) {
                        if (j > 0)
                                sb.append(' ');
-                       int v = bytes[j] & 0xFF;
+                       var v = bytes[j] & 0xFF;
                        sb.append(HEX[v >>> 4]).append(HEX[v & 0x0F]);
                }
                return sb.toString();
@@ -1702,8 +1712,8 @@ public final class StringUtils {
         * @return A new byte array.
         */
        public static byte[] fromHex(String hex) {
-               ByteBuffer buff = ByteBuffer.allocate(hex.length()/2);
-               for (int i = 0; i < hex.length(); i+=2)
+               var buff = ByteBuffer.allocate(hex.length()/2);
+               for (var i = 0; i < hex.length(); i+=2)
                        buff.put((byte)Integer.parseInt(hex.substring(i, i+2), 
16));
                buff.rewind();
                return buff.array();
@@ -1716,8 +1726,8 @@ public final class StringUtils {
         * @return A new byte array.
         */
        public static byte[] fromSpacedHex(String hex) {
-               ByteBuffer buff = ByteBuffer.allocate((hex.length()+1)/3);
-               for (int i = 0; i < hex.length(); i+=3)
+               var buff = ByteBuffer.allocate((hex.length()+1)/3);
+               for (var i = 0; i < hex.length(); i+=3)
                        buff.put((byte)Integer.parseInt(hex.substring(i, i+2), 
16));
                buff.rewind();
                return buff.array();
@@ -1731,8 +1741,8 @@ public final class StringUtils {
         * @return A new string consisting of the repeated pattern.
         */
        public static String repeat(int count, String pattern) {
-               StringBuilder sb = new StringBuilder(pattern.length() * count);
-               for (int i = 0; i < count; i++)
+               var sb = new StringBuilder(pattern.length() * count);
+               for (var i = 0; i < count; i++)
                        sb.append(pattern);
                return sb.toString();
        }
@@ -1745,7 +1755,7 @@ public final class StringUtils {
         */
        public static String trimStart(String s) {
                if (s != null)
-                       while (isNotEmpty(s) && 
Character.isWhitespace(s.charAt(0)))
+                       while (isNotEmpty(s) && isWhitespace(s.charAt(0)))
                                s = s.substring(1);
                return s;
        }
@@ -1758,7 +1768,7 @@ public final class StringUtils {
         */
        public static String trimEnd(String s) {
                if (s != null)
-                       while (!s.isEmpty() && 
Character.isWhitespace(s.charAt(s.length()-1)))
+                       while (isNotEmpty(s) && 
isWhitespace(s.charAt(s.length()-1)))
                                s = s.substring(0, s.length()-1);
                return s;
        }
@@ -1775,7 +1785,7 @@ public final class StringUtils {
         * @return <jk>true</jk> if the specified string is one of the 
specified values.
         */
        public static boolean isOneOf(String s, String...values) {
-               for (String value : values)
+               for (var value : values)
                        if (eq(s, value))
                                return true;
                return false;
@@ -1808,9 +1818,9 @@ public final class StringUtils {
        public static String trimSlashesAndSpaces(String s) {
                if (s == null)
                        return null;
-               while (isNotEmpty(s) && (s.charAt(s.length()-1) == '/' || 
Character.isWhitespace(s.charAt(s.length()-1))))
+               while (isNotEmpty(s) && (s.charAt(s.length()-1) == '/' || 
isWhitespace(s.charAt(s.length()-1))))
                        s = s.substring(0, s.length()-1);
-               while (isNotEmpty(s) && (s.charAt(0) == '/' || 
Character.isWhitespace(s.charAt(0))))
+               while (isNotEmpty(s) && (s.charAt(0) == '/' || 
isWhitespace(s.charAt(0))))
                        s = s.substring(1);
                return s;
        }
@@ -1853,22 +1863,24 @@ public final class StringUtils {
         * @return The URL encoded string, or <jk>null</jk> if the object was 
null.
         */
        public static String urlEncodePath(Object o) {
+
                if (o == null)
                        return null;
-               String s = stringify(o);
 
-               boolean needsEncode = false;
-               for (int i = 0; i < s.length() && ! needsEncode; i++)
+               var s = stringify(o);
+
+               var needsEncode = false;
+               for (var i = 0; i < s.length() && ! needsEncode; i++)
                        needsEncode = 
URL_ENCODE_PATHINFO_VALIDCHARS.contains(s.charAt(i));
                if (! needsEncode)
                        return s;
 
-               StringBuilder sb = new StringBuilder();
-               CharArrayWriter caw = new CharArrayWriter();
-               int caseDiff = ('a' - 'A');
+               var sb = new StringBuilder();
+               var caw = new CharArrayWriter();
+               var caseDiff = ('a' - 'A');
 
-               for (int i = 0; i < s.length();) {
-                       char c = s.charAt(i);
+               for (var i = 0; i < s.length();) {
+                       var c = s.charAt(i);
                        if (URL_ENCODE_PATHINFO_VALIDCHARS.contains(c)) {
                                sb.append(c);
                                i++;  // NOSONAR - Intentional.
@@ -1892,17 +1904,17 @@ public final class StringUtils {
                                        } while (i < s.length() && 
!URL_ENCODE_PATHINFO_VALIDCHARS.contains((c = s.charAt(i))));   // NOSONAR - 
Intentional.
 
                                        caw.flush();
-                                       String s2 = new 
String(caw.toCharArray());
-                                       byte[] ba = s2.getBytes(IOUtils.UTF8);
-                                       for (byte element : ba) {
+                                       var s2 = new String(caw.toCharArray());
+                                       var ba = s2.getBytes(IOUtils.UTF8);
+                                       for (var element : ba) {
                                                sb.append('%');
-                                               char ch = 
Character.forDigit((element >> 4) & 0xF, 16);
-                                               if (Character.isLetter(ch)) {
+                                               var ch = forDigit((element >> 
4) & 0xF, 16);
+                                               if (isLetter(ch)) {
                                                        ch -= caseDiff;
                                                }
                                                sb.append(ch);
-                                               ch = Character.forDigit(element 
& 0xF, 16);
-                                               if (Character.isLetter(ch)) {
+                                               ch = forDigit(element & 0xF, 
16);
+                                               if (isLetter(ch)) {
                                                        ch -= caseDiff;
                                                }
                                                sb.append(ch);
@@ -1921,14 +1933,17 @@ public final class StringUtils {
         * @return The decoded string, or <jk>null</jk> if input is 
<jk>null</jk>.
         */
        public static String urlDecode(String s) {
+
                if (s == null)
                        return s;
-               boolean needsDecode = false;
-               for (int i = 0; i < s.length() && ! needsDecode; i++) {
-                       char c = s.charAt(i);
+
+               var needsDecode = false;
+               for (var i = 0; i < s.length() && ! needsDecode; i++) {
+                       var c = s.charAt(i);
                        if (c == '+' || c == '%')
                                needsDecode = true;
                }
+
                if (needsDecode) {
                        try {
                                return URLDecoder.decode(s, "UTF-8");
@@ -1944,16 +1959,21 @@ public final class StringUtils {
         * @return The encoded string, or <jk>null</jk> if input is 
<jk>null</jk>.
         */
        public static String urlEncode(String s) {
+
                if (s == null)
                        return null;
-               boolean needsEncode = false;
-               for (int i = 0; i < s.length() && ! needsEncode; i++)
+
+               var needsEncode = false;
+
+               for (var i = 0; i < s.length() && ! needsEncode; i++)
                        needsEncode |= (! unencodedChars.contains(s.charAt(i)));
+
                if (needsEncode) {
                        try {
                                return URLEncoder.encode(s, "UTF-8");
                        } catch (UnsupportedEncodingException e) {/* Won't 
happen */}
                }
+
                return s;
        }
 
@@ -1966,13 +1986,13 @@ public final class StringUtils {
        public static String urlEncodeLax(String s) {
                if (s == null)
                        return null;
-               boolean needsEncode = false;
-               for (int i = 0; i < s.length() && ! needsEncode; i++)
+               var needsEncode = false;
+               for (var i = 0; i < s.length() && ! needsEncode; i++)
                        needsEncode |= (! 
unencodedCharsLax.contains(s.charAt(i)));
                if (needsEncode) {
-                       StringBuilder sb = new StringBuilder(s.length()*2);
-                       for (int i = 0; i < s.length(); i++) {
-                               char c = s.charAt(i);
+                       var sb = new StringBuilder(s.length()*2);
+                       for (var i = 0; i < s.length(); i++) {
+                               var c = s.charAt(i);
                                if (unencodedCharsLax.contains(c))
                                        sb.append(c);
                                else if (c == ' ')
@@ -2001,8 +2021,8 @@ public final class StringUtils {
         */
        public static char firstNonWhitespaceChar(String s) {
                if (s != null)
-                       for (int i = 0; i < s.length(); i++)
-                               if (! Character.isWhitespace(s.charAt(i)))
+                       for (var i = 0; i < s.length(); i++)
+                               if (! isWhitespace(s.charAt(i)))
                                        return s.charAt(i);
                return 0;
        }
@@ -2017,8 +2037,8 @@ public final class StringUtils {
         */
        public static char lastNonWhitespaceChar(String s) {
                if (s != null)
-                       for (int i = s.length()-1; i >= 0; i--)
-                               if (! Character.isWhitespace(s.charAt(i)))
+                       for (var i = s.length()-1; i >= 0; i--)
+                               if (! isWhitespace(s.charAt(i)))
                                        return s.charAt(i);
                return 0;
        }
@@ -2058,9 +2078,10 @@ public final class StringUtils {
                        S4 = 4,  // Found /, looking for /
                        S5 = 5;  // Found /, looking for x
 
-               int state = S1;
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               var state = S1;
+
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
                        if (state == S1) {
                                if (c >= 'a' && c <= 'z')
                                        state = S2;
@@ -2113,9 +2134,10 @@ public final class StringUtils {
                        S3 = 3,  // Found protocol char 2, looking for :
                        S4 = 4;  // Found :, looking for /
 
-               int state = S1;
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               var state = S1;
+
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
                        if (state == S1) {
                                if (c >= 'a' && c <= 'z')
                                        state = S2;
@@ -2156,9 +2178,10 @@ public final class StringUtils {
                        S5 = 5,  // Found /, looking for x
                        S6 = 6;  // Found x, looking for /
 
-               int state = S1;
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               var state = S1;
+
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
                        if (state == S1) {
                                if (c >= 'a' && c <= 'z')
                                        state = S2;
@@ -2189,6 +2212,7 @@ public final class StringUtils {
                                        return s.substring(0, i);
                        }
                }
+
                return s;
        }
 
@@ -2215,7 +2239,7 @@ public final class StringUtils {
         * @return The first non-empty string in the list, or <jk>null</jk> if 
they were all <jk>null</jk> or empty.
         */
        public static String firstNonEmpty(String...s) {
-               for (String ss : s)
+               for (var ss : s)
                        if (isNotEmpty(ss))
                                return ss;
                return null;
@@ -2231,9 +2255,9 @@ public final class StringUtils {
        public static int indexOf(String s, char...c) {
                if (s == null)
                        return -1;
-               for (int i = 0; i < s.length(); i++) {
-                       char c2 = s.charAt(i);
-                       for (char cc : c)
+               for (var i = 0; i < s.length(); i++) {
+                       var c2 = s.charAt(i);
+                       for (var cc : c)
                                if (c2 == cc)
                                        return i;
                }
@@ -2250,11 +2274,11 @@ public final class StringUtils {
        public static String format(String pattern, Object...args) {
                if (args == null || args.length == 0)
                        return pattern;
-               Object[] args2 = new Object[args.length];
-               for (int i = 0; i < args.length; i++)
+               var args2 = new Object[args.length];
+               for (var i = 0; i < args.length; i++)
                        args2[i] = convertToReadable(args[i]);
 
-               int c = countChars(pattern, '\'');
+               var c = countChars(pattern, '\'');
                if (c % 2 != 0)
                        throw new AssertionError("Dangling single quote found 
in pattern: " + pattern);
 
@@ -2275,8 +2299,8 @@ public final class StringUtils {
 
        private static List<Object> arrayAsList(Object array) {
                if (array.getClass().getComponentType().isPrimitive()) {
-                       List<Object> l = new 
ArrayList<>(Array.getLength(array));
-                       for (int i = 0; i < Array.getLength(array); i++)
+                       var l = new ArrayList<>(Array.getLength(array));
+                       for (var i = 0; i < Array.getLength(array); i++)
                                l.add(Array.get(array, i));
                        return l;
                }
@@ -2302,7 +2326,7 @@ public final class StringUtils {
         */
        public static int parseIntWithSuffix(String s) {
                assertArgNotNull("s", s);
-               int m = multiplier(s);
+               var m = multiplier(s);
                if (m == 1)
                        return Integer.decode(s);
                return Integer.decode(s.substring(0, s.length()-1).trim()) * m; 
 // NOSONAR - NPE not possible here.
@@ -2342,7 +2366,7 @@ public final class StringUtils {
         */
        public static long parseLongWithSuffix(String s) {
                assertArgNotNull("s", s);
-               long m = multiplier2(s);
+               var m = multiplier2(s);
                if (m == 1)
                        return Long.decode(s);
                return Long.decode(s.substring(0, s.length()-1).trim()) * m;  
// NOSONAR - NPE not possible here.
@@ -2383,12 +2407,12 @@ public final class StringUtils {
         */
        public static boolean isJsonArray(Object o, boolean 
ignoreWhitespaceAndComments) {
                if (o instanceof CharSequence) {
-                       String s = o.toString();
+                       var s = o.toString();
                        if (! ignoreWhitespaceAndComments)
                                return (s.startsWith("[") && s.endsWith("]"));
                        if (firstRealCharacter(s) != '[')
                                return false;
-                       int i = s.lastIndexOf(']');
+                       var i = s.lastIndexOf(']');
                        if (i == -1)
                                return false;
                        s = s.substring(i+1);
@@ -2410,7 +2434,8 @@ public final class StringUtils {
        public static boolean isJson(String s) {
                if (s == null)
                        return false;
-               char c1 = firstNonWhitespaceChar(s), c2 = 
lastNonWhitespaceChar(s);
+               var c1 = firstNonWhitespaceChar(s);
+               var c2 = lastNonWhitespaceChar(s);
                if (c1 == '{' && c2 == '}' || c1 == '[' && c2 == ']' || c1 == 
'\'' && c2 == '\'')
                        return true;
                return (isOneOf(s, "true","false","null") || isNumeric(s));
@@ -2425,12 +2450,12 @@ public final class StringUtils {
         */
        public static boolean isJsonObject(Object o, boolean 
ignoreWhitespaceAndComments) {
                if (o instanceof CharSequence) {
-                       String s = o.toString();
+                       var s = o.toString();
                        if (! ignoreWhitespaceAndComments)
                                return (s.startsWith("{") && s.endsWith("}"));
                        if (firstRealCharacter(s) != '{')
                                return false;
-                       int i = s.lastIndexOf('}');
+                       var i = s.lastIndexOf('}');
                        if (i == -1)
                                return false;
                        s = s.substring(i+1);
@@ -2440,10 +2465,10 @@ public final class StringUtils {
        }
 
        private static int firstRealCharacter(String s) {
-               try (StringReader r = new StringReader(s)) {
-                       int c = 0;
+               try (var r = new StringReader(s)) {
+                       var c = 0;
                        while ((c = r.read()) != -1) {
-                               if (! Character.isWhitespace(c)) {
+                               if (! isWhitespace(c)) {
                                        if (c == '/') {
                                                skipComments(r);
                                        } else {
@@ -2457,7 +2482,7 @@ public final class StringUtils {
                }
        }
        private static void skipComments(StringReader r) throws IOException {
-               int c = r.read();
+               var c = r.read();
                //  "/* */" style comments
                if (c == '*') {
                        while (c != -1)
@@ -2498,16 +2523,16 @@ public final class StringUtils {
        public static String getNumberedLines(String s, int start, int end) {
                if (s == null)
                        return null;
-               String[] lines = s.split("[\r\n]+");
-               final int digits = String.valueOf(lines.length).length();
+               var lines = s.split("[\r\n]+");
+               var digits = String.valueOf(lines.length).length();
                if (start < 1)
                        start = 1;
                if (end < 0)
                        end = Integer.MAX_VALUE;
                if (end > lines.length)
                        end = lines.length;
-               StringBuilder sb = new StringBuilder();
-               for (String l :  Arrays.asList(lines).subList(start-1, end))
+               var sb = new StringBuilder();
+               for (var l :  Arrays.asList(lines).subList(start-1, end))
                        sb.append(String.format("%0"+digits+"d", 
start++)).append(": ").append(l).append("\n");  // NOSONAR - Intentional.
                return sb.toString();
        }
@@ -2561,10 +2586,10 @@ public final class StringUtils {
        public static Pattern getMatchPattern(String s, int flags) {
                if (s == null)
                        return null;
-               StringBuilder sb = new StringBuilder();
+               var sb = new StringBuilder();
                sb.append("\\Q");
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
                        if (c == '*')
                                sb.append("\\E").append(".*").append("\\Q");
                        else if (c == '?')
@@ -2613,7 +2638,7 @@ public final class StringUtils {
                        return -1;
                int i;
                for (i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+                       var c = s.charAt(i);
                        if (c < '0' || c > '9')
                                break;
                }
@@ -2622,7 +2647,7 @@ public final class StringUtils {
                        l = Long.parseLong(s);
                else {
                        l = Long.parseLong(s.substring(0, i).trim());
-                       String r = s.substring(i).trim().toLowerCase();
+                       var r = s.substring(i).trim().toLowerCase();
                        if (r.startsWith("s"))
                                l *= 1000;
                        else if (r.startsWith("m"))
@@ -2645,19 +2670,20 @@ public final class StringUtils {
         * @return The string with invalid characters removed.
         */
        public static String stripInvalidHttpHeaderChars(String s) {
+
                if (s == null)
                        return null;
 
-               boolean needsReplace = false;
-               for (int i = 0; i < s.length() && ! needsReplace; i++)
+               var needsReplace = false;
+               for (var i = 0; i < s.length() && ! needsReplace; i++)
                        needsReplace |= httpHeaderChars.contains(s.charAt(i));
 
                if (! needsReplace)
                        return s;
 
-               StringBuilder sb = new StringBuilder(s.length());
-               for (int i = 0; i < s.length(); i++) {
-                       char c = s.charAt(i);
+               var sb = new StringBuilder(s.length());
+               for (var i = 0; i < s.length(); i++) {
+                       var c = s.charAt(i);
                        if (httpHeaderChars.contains(c))
                                sb.append(c);
                }
@@ -2685,6 +2711,7 @@ public final class StringUtils {
         * @return The split arguments, or null if the input string is null.
         */
        public static String[] splitMethodArgs(String s) {
+
                if (s == null)
                        return null;  // NOSONAR - Intentional.
                if (isEmpty(s))
@@ -2692,22 +2719,25 @@ public final class StringUtils {
                if (s.indexOf(',') == -1)
                        return new String[]{s};
 
-               List<String> l = new LinkedList<>();
-               char[] sArray = s.toCharArray();
-               int x1 = 0, paramDepth = 0;
-               for (int i = 0; i < sArray.length; i++) {
-                       char c = s.charAt(i);
+               var l = new LinkedList<String>();
+               var sArray = s.toCharArray();
+               var x1 = 0;
+               var paramDepth = 0;
+
+               for (var i = 0; i < sArray.length; i++) {
+                       var c = s.charAt(i);
                        if (c == '>')
                                paramDepth++;
                        else if (c == '<')
                                paramDepth--;
                        else if (c == ',' && paramDepth == 0) {
-                               String s2 = new String(sArray, x1, i-x1);
+                               var s2 = new String(sArray, x1, i-x1);
                                l.add(s2.trim());
                                x1 = i+1;
                        }
                }
-               String s2 = new String(sArray, x1, sArray.length-x1);
+
+               var s2 = new String(sArray, x1, sArray.length-x1);
                l.add(s2.trim());
 
                return l.toArray(new String[l.size()]);
@@ -2728,9 +2758,10 @@ public final class StringUtils {
 
                StringBuilder sb = null;
 
-               int m = 0;
-               for (int i = 0; i < in.length(); i++) {
-                       char c = in.charAt(i);
+               var m = 0;
+
+               for (var i = 0; i < in.length(); i++) {
+                       var c = in.charAt(i);
                        if (c <= 127 && ! URI_CHARS.contains(c)) {
                                sb = append(sb, in.substring(m, i));
                                if (c == ' ')
@@ -2763,10 +2794,10 @@ public final class StringUtils {
         * @return The number of those characters or zero if the string was 
<jk>null</jk>.
         */
        public static int countChars(String s, char c) {
-               int count = 0;
+               var count = 0;
                if (s == null)
                        return count;
-               for (int i = 0; i < s.length(); i++)
+               for (var i = 0; i < s.length(); i++)
                        if (s.charAt(i) == c)
                                count++;
                return count;
@@ -2780,8 +2811,8 @@ public final class StringUtils {
         * @throws Exception Exception occurred.
         */
        public static byte[] compress(String contents) throws Exception {
-               ByteArrayOutputStream baos = new 
ByteArrayOutputStream(contents.length()>>1);
-               try (GZIPOutputStream gos = new GZIPOutputStream(baos)) {
+               var baos = new ByteArrayOutputStream(contents.length()>>1);
+               try (var gos = new GZIPOutputStream(baos)) {
                        gos.write(contents.getBytes());
                        gos.finish();
                        gos.flush();
@@ -2810,7 +2841,7 @@ public final class StringUtils {
                if (o == null)
                        return null;
                if (o.getClass().isArray()) {
-                       StringBuilder sb = new StringBuilder();
+                       var sb = new StringBuilder();
                        for (int i = 0, j = Array.getLength(o); i < j; i++) {
                                if (i > 0)
                                        sb.append(", ");
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/SystemUtils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/SystemUtils.java
index 83ca73d4e..e62d883b4 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/SystemUtils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/SystemUtils.java
@@ -42,5 +42,4 @@ public class SystemUtils {
        public static void shutdownMessage(Supplier<String> message) {
                SHUTDOWN_MESSAGES.add(message);
        }
-
 }
diff --git 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ThrowableUtils.java
 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ThrowableUtils.java
index 515cc9d02..3cd2179c9 100644
--- 
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ThrowableUtils.java
+++ 
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/internal/ThrowableUtils.java
@@ -119,8 +119,8 @@ public class ThrowableUtils {
         * @return The same content that would normally be rendered via 
<c>t.printStackTrace()</c>
         */
        public static String getStackTrace(Throwable t) {
-               StringWriter sw = new StringWriter();
-               try (PrintWriter pw = new PrintWriter(sw)) {
+               var sw = new StringWriter();
+               try (var pw = new PrintWriter(sw)) {
                        t.printStackTrace(pw);
                }
                return sw.toString();
@@ -134,9 +134,9 @@ public class ThrowableUtils {
         * @return A calculated hash.
         */
        public static int hash(Throwable t, String stopClass) {
-               int i = 0;
+               var i = 0;
                while (t != null) {
-                       for (StackTraceElement e : t.getStackTrace()) {
+                       for (var e : t.getStackTrace()) {
                                if (e.getClassName().equals(stopClass))
                                        break;
                                if (e.getClassName().indexOf('$') == -1)

Reply via email to