<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_162) on Tue Jan 23 20:22:12 PST 2018 --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PropertyNamingStrategy.SnakeCaseStrategy (jackson-databind 2.9.0 API)</title> <meta name="date" content="2018-01-23"> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="PropertyNamingStrategy.SnakeCaseStrategy (jackson-databind 2.9.0 API)"; } } catch(err) { } //--> var methods = {"i0":10}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/PropertyNamingStrategy.SnakeCaseStrategy.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.UpperCamelCaseStrategy.html" title="class in com.fasterxml.jackson.databind"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html" target="_top">Frames</a></li> <li><a href="PropertyNamingStrategy.SnakeCaseStrategy.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li><a href="#nested.classes.inherited.from.class.com.fasterxml.jackson.databind.PropertyNamingStrategy">Nested</a> | </li> <li><a href="#fields.inherited.from.class.com.fasterxml.jackson.databind.PropertyNamingStrategy">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">com.fasterxml.jackson.databind</div> <h2 title="Class PropertyNamingStrategy.SnakeCaseStrategy" class="title">Class PropertyNamingStrategy.SnakeCaseStrategy</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> <li> <ul class="inheritance"> <li><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind">com.fasterxml.jackson.databind.PropertyNamingStrategy</a></li> <li> <ul class="inheritance"> <li><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind">com.fasterxml.jackson.databind.PropertyNamingStrategy.PropertyNamingStrategyBase</a></li> <li> <ul class="inheritance"> <li>com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy</li> </ul> </li> </ul> </li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>All Implemented Interfaces:</dt> <dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd> </dl> <dl> <dt>Direct Known Subclasses:</dt> <dd><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy</a></dd> </dl> <dl> <dt>Enclosing class:</dt> <dd><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy</a></dd> </dl> <hr> <br> <pre>public static class <span class="typeNameLabel">PropertyNamingStrategy.SnakeCaseStrategy</span> extends <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.PropertyNamingStrategyBase</a></pre> <div class="block">A <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind"><code>PropertyNamingStrategy</code></a> that translates typical camel case Java property names to lower case JSON element names, separated by underscores. This implementation is somewhat lenient, in that it provides some additional translations beyond strictly translating from camel case only. In particular, the following translations are applied by this PropertyNamingStrategy. <ul><li>Every upper case letter in the Java property name is translated into two characters, an underscore and the lower case equivalent of the target character, with three exceptions. <ol><li>For contiguous sequences of upper case letters, characters after the first character are replaced only by their lower case equivalent, and are not preceded by an underscore. <ul><li>This provides for reasonable translations of upper case acronyms, e.g., "theWWW" is translated to "the_www".</li></ul></li> <li>An upper case character in the first position of the Java property name is not preceded by an underscore character, and is translated only to its lower case equivalent. <ul><li>For example, "Results" is translated to "results", and not to "_results".</li></ul></li> <li>An upper case character in the Java property name that is already preceded by an underscore character is translated only to its lower case equivalent, and is not preceded by an additional underscore. <ul><li>For example, "user_Name" is translated to "user_name", and not to "user__name" (with two underscore characters).</li></ul></li></ol></li> <li>If the Java property name starts with an underscore, then that underscore is not included in the translated name, unless the Java property name is just one character in length, i.e., it is the underscore character. This applies only to the first character of the Java property name.</li></ul> These rules result in the following additional example translations from Java property names to JSON element names. <ul><li>"userName" is translated to "user_name"</li> <li>"UserName" is translated to "user_name"</li> <li>"USER_NAME" is translated to "user_name"</li> <li>"user_name" is translated to "user_name" (unchanged)</li> <li>"user" is translated to "user" (unchanged)</li> <li>"User" is translated to "user"</li> <li>"USER" is translated to "user"</li> <li>"_user" is translated to "user"</li> <li>"_User" is translated to "user"</li> <li>"__user" is translated to "_user" (the first of two underscores was removed)</li> <li>"user__name" is translated to "user__name" (unchanged, with two underscores)</li></ul></div> <dl> <dt><span class="simpleTagLabel">Since:</span></dt> <dd>2.7 (was previously called }</dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../serialized-form.html#com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy">Serialized Form</a></dd> </dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== NESTED CLASS SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="nested.class.summary"> <!-- --> </a> <h3>Nested Class Summary</h3> <ul class="blockList"> <li class="blockList"><a name="nested.classes.inherited.from.class.com.fasterxml.jackson.databind.PropertyNamingStrategy"> <!-- --> </a> <h3>Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.<a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy</a></h3> <code><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.KebabCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.KebabCaseStrategy</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.LowerCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.LowerCaseStrategy</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PascalCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.PascalCaseStrategy</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.PropertyNamingStrategyBase</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.SnakeCaseStrategy</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.UpperCamelCaseStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.UpperCamelCaseStrategy</a></code></li> </ul> </li> </ul> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field.summary"> <!-- --> </a> <h3>Field Summary</h3> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.com.fasterxml.jackson.databind.PropertyNamingStrategy"> <!-- --> </a> <h3>Fields inherited from class com.fasterxml.jackson.databind.<a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy</a></h3> <code><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html#CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES">CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html#KEBAB_CASE">KEBAB_CASE</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html#LOWER_CAMEL_CASE">LOWER_CAMEL_CASE</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html#LOWER_CASE">LOWER_CASE</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html#PASCAL_CASE_TO_CAMEL_CASE">PASCAL_CASE_TO_CAMEL_CASE</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html#SNAKE_CASE">SNAKE_CASE</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.html#UPPER_CAMEL_CASE">UPPER_CAMEL_CASE</a></code></li> </ul> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html#SnakeCaseStrategy--">SnakeCaseStrategy</a></span>()</code> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html#translate-java.lang.String-">translate</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> input)</code> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.com.fasterxml.jackson.databind.PropertyNamingStrategy.PropertyNamingStrategyBase"> <!-- --> </a> <h3>Methods inherited from class com.fasterxml.jackson.databind.<a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.PropertyNamingStrategyBase</a></h3> <code><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html#nameForConstructorParameter-com.fasterxml.jackson.databind.cfg.MapperConfig-com.fasterxml.jackson.databind.introspect.AnnotatedParameter-java.lang.String-">nameForConstructorParameter</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html#nameForField-com.fasterxml.jackson.databind.cfg.MapperConfig-com.fasterxml.jackson.databind.introspect.AnnotatedField-java.lang.String-">nameForField</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html#nameForGetterMethod-com.fasterxml.jackson.databind.cfg.MapperConfig-com.fasterxml.jackson.databind.introspect.AnnotatedMethod-java.lang.String-">nameForGetterMethod</a>, <a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html#nameForSetterMethod-com.fasterxml.jackson.databind.cfg.MapperConfig-com.fasterxml.jackson.databind.introspect.AnnotatedMethod-java.lang.String-">nameForSetterMethod</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> <code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="SnakeCaseStrategy--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>SnakeCaseStrategy</h4> <pre>public SnakeCaseStrategy()</pre> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="translate-java.lang.String-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>translate</h4> <pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> translate(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> input)</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html#translate-java.lang.String-">translate</a></code> in class <code><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind">PropertyNamingStrategy.PropertyNamingStrategyBase</a></code></dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/PropertyNamingStrategy.SnakeCaseStrategy.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.PropertyNamingStrategyBase.html" title="class in com.fasterxml.jackson.databind"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../com/fasterxml/jackson/databind/PropertyNamingStrategy.UpperCamelCaseStrategy.html" title="class in com.fasterxml.jackson.databind"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/fasterxml/jackson/databind/PropertyNamingStrategy.SnakeCaseStrategy.html" target="_top">Frames</a></li> <li><a href="PropertyNamingStrategy.SnakeCaseStrategy.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li><a href="#nested.classes.inherited.from.class.com.fasterxml.jackson.databind.PropertyNamingStrategy">Nested</a> | </li> <li><a href="#fields.inherited.from.class.com.fasterxml.jackson.databind.PropertyNamingStrategy">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small>Copyright © 2008–2018 <a href="http://fasterxml.com/">FasterXML</a>. All rights reserved.</small></p> </body> </html>