package sk.stuba.fiit.perconik.data.bind; import com.fasterxml.jackson.databind.PropertyNamingStrategy.PropertyNamingStrategyBase; public abstract class NamingStrategy extends PropertyNamingStrategyBase { private static final long serialVersionUID = 0L; NamingStrategy() {} public static final class Default extends NamingStrategy { private static final long serialVersionUID = 0L; public Default() {} @Override public String translate(final String input) { return input; } } public static final class LowerUnderscore extends NamingStrategy { private static final long serialVersionUID = 0L; private static final LowerCaseWithUnderscoresStrategy strategy = new LowerCaseWithUnderscoresStrategy(); public LowerUnderscore() {} @Override public String translate(final String input) { if (input == null) { return null; } String result = input; if (input.charAt(0) == '_') { result = "_" + result; } return strategy.translate(result); } } }