From 057ab677df86302246a48320948e08f43a0563c3 Mon Sep 17 00:00:00 2001 From: Ceki Gulcu Date: Sat, 24 Feb 2024 23:15:56 +0100 Subject: [PATCH] mark some methods public, more defensive code Signed-off-by: Ceki Gulcu --- .../core/joran/util/AggregationAssessor.java | 4 ++-- .../joran/util/StringToObjectConverter.java | 4 ++-- .../ch/qos/logback/core/util/StringUtil.java | 19 ++++++++++++++++--- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/logback-core/src/main/java/ch/qos/logback/core/joran/util/AggregationAssessor.java b/logback-core/src/main/java/ch/qos/logback/core/joran/util/AggregationAssessor.java index 64944df1c4..8521773e63 100644 --- a/logback-core/src/main/java/ch/qos/logback/core/joran/util/AggregationAssessor.java +++ b/logback-core/src/main/java/ch/qos/logback/core/joran/util/AggregationAssessor.java @@ -88,12 +88,12 @@ public AggregationType computeAggregationType(String name) { // return StringUtil.capitalizeFirstLetter(name); // } - Method findAdderMethod(String name) { + public Method findAdderMethod(String name) { String propertyName = BeanUtil.toLowerCamelCase(name); return beanDescription.getAdder(propertyName); } - Method findSetterMethod(String name) { + public Method findSetterMethod(String name) { String propertyName = BeanUtil.toLowerCamelCase(name); return beanDescription.getSetter(propertyName); } diff --git a/logback-core/src/main/java/ch/qos/logback/core/joran/util/StringToObjectConverter.java b/logback-core/src/main/java/ch/qos/logback/core/joran/util/StringToObjectConverter.java index fd65bbe800..b670143bb6 100644 --- a/logback-core/src/main/java/ch/qos/logback/core/joran/util/StringToObjectConverter.java +++ b/logback-core/src/main/java/ch/qos/logback/core/joran/util/StringToObjectConverter.java @@ -97,7 +97,7 @@ static private Charset convertToCharset(ContextAware ca, String val) { } // returned value may be null and in most cases it is null. - public static Method getValueOfMethod(Class type) { + static public Method getValueOfMethod(Class type) { try { return type.getMethod(CoreConstants.VALUE_OF, STRING_CLASS_PARAMETER); } catch (NoSuchMethodException e) { @@ -107,7 +107,7 @@ public static Method getValueOfMethod(Class type) { } } - static private boolean followsTheValueOfConvention(Class parameterClass) { + static public boolean followsTheValueOfConvention(Class parameterClass) { Method valueOfMethod = getValueOfMethod(parameterClass); if (valueOfMethod == null) return false; diff --git a/logback-core/src/main/java/ch/qos/logback/core/util/StringUtil.java b/logback-core/src/main/java/ch/qos/logback/core/util/StringUtil.java index 3a66f5587d..4b44cceaec 100644 --- a/logback-core/src/main/java/ch/qos/logback/core/util/StringUtil.java +++ b/logback-core/src/main/java/ch/qos/logback/core/util/StringUtil.java @@ -29,7 +29,6 @@ public static boolean isNullOrEmpty(String str) { return ((str == null) || str.isEmpty()); } - /** * Returns true if input str is not null nor empty. * @@ -41,9 +40,23 @@ public static boolean notNullNorEmpty(String str) { } public static String capitalizeFirstLetter(String name) { - if(isNullOrEmpty(name)) + if (isNullOrEmpty(name)) return name; - else + + if(name.length() == 1) { + return name.toUpperCase(); + } else return name.substring(0, 1).toUpperCase() + name.substring(1); } + + public static String lowercaseFirstLetter(String name) { + if (isNullOrEmpty(name)) + return name; + + if(name.length() == 1) { + return name.toLowerCase(); + } else + return name.substring(0, 1).toLowerCase() + name.substring(1); + } + }