Skip to content

Commit

Permalink
Warn if deprecated subclasses of PropertyNamingStrategy is used
Browse files Browse the repository at this point in the history
  • Loading branch information
takezoe committed Oct 6, 2023
1 parent 254eb26 commit 1afe9a5
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import com.fasterxml.jackson.databind.introspect.AnnotatedMethod;
import com.fasterxml.jackson.databind.introspect.AnnotatedParameter;

import java.util.logging.Logger;

/**
* Class that defines how names of JSON properties ("external names")
* are derived from names of POJO methods and fields ("internal names"),
Expand Down Expand Up @@ -318,6 +320,14 @@ public String translate(String input)
@Deprecated // since 2.12
public static class UpperCamelCaseStrategy extends PropertyNamingStrategyBase
{
public UpperCamelCaseStrategy() {
Logger.getLogger(UpperCamelCaseStrategy.class.getName())
.warning(
"PropertyNamingStrategy.UpperCamelCaseStrategy is used but it has been deprecated. " +
"Consider using PropertyNamingStrategies.UpperCamelCaseStrategy instead. " +
"See https://github.com/FasterXML/jackson-databind/issues/2715 for more details.");
}

/**
* Converts camelCase to PascalCase
*
Expand Down Expand Up @@ -353,6 +363,14 @@ public String translate(String input) {
@Deprecated // since 2.12
public static class LowerCaseStrategy extends PropertyNamingStrategyBase
{
public LowerCaseStrategy() {
Logger.getLogger(LowerCaseStrategy.class.getName())
.warning(
"PropertyNamingStrategy.LowerCaseStrategy is used but it has been deprecated. " +
"Consider using PropertyNamingStrategies.LowerCaseStrategy instead. " +
"See https://github.com/FasterXML/jackson-databind/issues/2715 for more details.");
}

@Override
public String translate(String input) {
return input.toLowerCase();
Expand All @@ -368,6 +386,14 @@ public String translate(String input) {
@Deprecated // since 2.12
public static class KebabCaseStrategy extends PropertyNamingStrategyBase
{
public KebabCaseStrategy() {
Logger.getLogger(KebabCaseStrategy.class.getName())
.warning(
"PropertyNamingStrategy.KebabCaseStrategy is used but it has been deprecated. " +
"Consider using PropertyNamingStrategies.KebabCaseStrategy instead. " +
"See https://github.com/FasterXML/jackson-databind/issues/2715 for more details.");
}

@Override
public String translate(String input) {
return translateLowerCaseWithSeparator(input, '-');
Expand All @@ -381,7 +407,16 @@ public String translate(String input) {
* for reason for deprecation)
*/
@Deprecated // since 2.12
public static class LowerDotCaseStrategy extends PropertyNamingStrategyBase {
public static class LowerDotCaseStrategy extends PropertyNamingStrategyBase
{
public LowerDotCaseStrategy() {
Logger.getLogger(LowerDotCaseStrategy.class.getName())
.warning(
"PropertyNamingStrategy.LowerDotCaseStrategy is used but it has been deprecated. " +
"Consider using PropertyNamingStrategies.LowerDotCaseStrategy instead. " +
"See https://github.com/FasterXML/jackson-databind/issues/2715 for more details.");
}

@Override
public String translate(String input){
return translateLowerCaseWithSeparator(input, '.');
Expand Down
1 change: 1 addition & 0 deletions src/moditect/module-info.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Generated 08-Mar-2019 using Moditect maven plugin
module com.fasterxml.jackson.databind {
requires java.logging;
// required for
// java.beans.ConstructorProperties
// java.beans.Transient
Expand Down

0 comments on commit 1afe9a5

Please sign in to comment.