Skip to content

Latest commit

 

History

History
22 lines (14 loc) · 1.72 KB

Models.md

File metadata and controls

22 lines (14 loc) · 1.72 KB

##Model Creation

###Sample Models

LoganSquare provides a few robust ways to create your models. Sample models for each strategy are provided below:

  • Annotating every field
  • This is the recommended type of model. It requires writing more annotations, but it's less error prone.
  • Include all public and package-local fields
  • This strategy will assume that all of your public and package-local fields should be parsed and serialized. You'll have to write way less annotations, but errors will occur if you have any fields that can't be converted to or from JSON using a registered TypeConverter.
  • Include all public and package-local field AND accessors
  • This uses the same concept as the above stretegy, but also includes any private fields that have both a getter and a setter.

###Field Naming Policies

By default, LoganSquare assumes that the JSON field name will match your Java variable's name unless the name parameter has been used in the field's @JsonField annotation. This can be changed by passing another value into the @JsonObject annotation's fieldNamingPolicy variable.

Currently the only options are FIELD_NAME, which is the default described above, and LOWER_CASE_WITH_UNDERSCORES, which will cause LoganSquare to assume that your JSON fields are named the same as your java variable names, except converted to lower case with undercore notation instead of camel case.

###Serializing Null Values

By default, LoganSquare will not serialize null values or collection elements into your JSON object. To change this, set the @JsonObject annotation's serializeNullObjects and/or serializeNullCollectionElements to true.