| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| This descriptor will generate the Parcelable class com.example.GeneratedStudent, |
| but its static CREATOR will produce a com.example.Student. The expectation is that |
| a user of this descriptor will want to subclass GeneratedStudent with their own |
| Student class that includes additional instance methods, so it is important that a |
| Parcel be able to be un-parceled as a Student rather than a GeneratedStudent. |
| --> |
| <class name="com.example.GeneratedStudent" |
| creatorClass="com.example.Student" |
| extends="Person" |
| superParams="boolean isMale, int age"> |
| <imports> |
| import com.example.Person; |
| import com.example.Principal; |
| import com.example.Teacher; |
| import com.google.common.collect.ImmutableList; |
| </imports> |
| <!-- |
| Note how curly braces can be used instead of angle brackets in the type attribute |
| below to identify generics, as less-than signs have to be escaped, making them hard |
| to read in XML files. |
| --> |
| <fields defaultVisibility="protected"> |
| <field type="int" name="id" jsonProperty="" /> |
| <field type="String" name="name" jsonProperty="" /> |
| <field type="float" name="gpa" jsonProperty="" /> |
| <field type="byte" name="daysOfSchoolLeft" jsonProperty="days_of_school_left" /> |
| <field type="Principal" name="principal" jsonProperty="" /> |
| <field type="boolean" name="isGraduated" jsonProperty="is_graduated" /> |
| <field type="List{String}" name="grades" jsonProperty="" /> |
| <field type="String[]" name="schedule" jsonProperty="" /> |
| <field type="List{Teacher}" name="teachers" jsonProperty="" defaultValue="ImmutableList.of()" /> |
| <field type="List" name="metadata" visibility="private" mutable="true" /> |
| </fields> |
| </class> |