diff --git a/Examples/Java/Sources/Board.java b/Examples/Java/Sources/Board.java index 25f588ca..bf34b62b 100644 --- a/Examples/Java/Sources/Board.java +++ b/Examples/Java/Sources/Board.java @@ -82,15 +82,18 @@ private Board( this._bits = _bits; } + @NonNull public static Board.Builder builder() { return new Board.Builder(); } + @NonNull public Board.Builder toBuilder() { return new Board.Builder(this); } - public Board mergeFrom(Board model) { + @NonNull + public Board mergeFrom(@NonNull Board model) { Board.Builder builder = this.toBuilder(); builder.mergeFrom(model); return builder.build(); @@ -243,6 +246,7 @@ private Builder(@NonNull Board model) { this._bits = model._bits; } + @NonNull public Builder setUid(@Nullable String value) { this.uid = value; if (this._bits.length > ID_INDEX) { @@ -251,6 +255,7 @@ public Builder setUid(@Nullable String value) { return this; } + @NonNull public Builder setContributors(@Nullable Set value) { this.contributors = value; if (this._bits.length > CONTRIBUTORS_INDEX) { @@ -259,6 +264,7 @@ public Builder setContributors(@Nullable Set value) { return this; } + @NonNull public Builder setCounts(@Nullable Map value) { this.counts = value; if (this._bits.length > COUNTS_INDEX) { @@ -267,6 +273,7 @@ public Builder setCounts(@Nullable Map value) { return this; } + @NonNull public Builder setCreatedAt(@Nullable Date value) { this.createdAt = value; if (this._bits.length > CREATED_AT_INDEX) { @@ -275,6 +282,7 @@ public Builder setCreatedAt(@Nullable Date value) { return this; } + @NonNull public Builder setCreator(@Nullable Map value) { this.creator = value; if (this._bits.length > CREATOR_INDEX) { @@ -283,6 +291,7 @@ public Builder setCreator(@Nullable Map value) { return this; } + @NonNull public Builder setCreatorURL(@Nullable String value) { this.creatorURL = value; if (this._bits.length > CREATOR_URL_INDEX) { @@ -291,6 +300,7 @@ public Builder setCreatorURL(@Nullable String value) { return this; } + @NonNull public Builder setDescription(@Nullable String value) { this.description = value; if (this._bits.length > DESCRIPTION_INDEX) { @@ -299,6 +309,7 @@ public Builder setDescription(@Nullable String value) { return this; } + @NonNull public Builder setImage(@NonNull Image value) { this.image = value; if (this._bits.length > IMAGE_INDEX) { @@ -307,6 +318,7 @@ public Builder setImage(@NonNull Image value) { return this; } + @NonNull public Builder setName(@Nullable String value) { this.name = value; if (this._bits.length > NAME_INDEX) { @@ -315,6 +327,7 @@ public Builder setName(@Nullable String value) { return this; } + @NonNull public Builder setUrl(@Nullable String value) { this.url = value; if (this._bits.length > URL_INDEX) { @@ -380,7 +393,7 @@ public Board build() { ); } - public void mergeFrom(Board model) { + public void mergeFrom(@NonNull Board model) { if (model.getUidIsSet()) { this.uid = model.uid; if (this._bits.length > ID_INDEX) { @@ -446,8 +459,9 @@ public void mergeFrom(Board model) { public static class BoardTypeAdapterFactory implements TypeAdapterFactory { + @Nullable @Override - public TypeAdapter create(Gson gson, TypeToken typeToken) { + public TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { if (!Board.class.isAssignableFrom(typeToken.getRawType())) { return null; } @@ -469,14 +483,14 @@ public static class BoardTypeAdapter extends TypeAdapter { private TypeAdapter> set_User_TypeAdapter; private TypeAdapter stringTypeAdapter; - public BoardTypeAdapter(Gson gson, BoardTypeAdapterFactory factory, TypeToken typeToken) { + public BoardTypeAdapter(@NonNull Gson gson, BoardTypeAdapterFactory factory, TypeToken typeToken) { this.factory = factory; this.gson = gson; this.typeToken = typeToken; } @Override - public void write(JsonWriter writer, Board value) throws IOException { + public void write(@NonNull JsonWriter writer, Board value) throws IOException { if (this.delegateTypeAdapter == null) { this.delegateTypeAdapter = this.gson.getDelegateAdapter(this.factory, this.typeToken); } @@ -484,8 +498,9 @@ public void write(JsonWriter writer, Board value) throws IOException { this.delegateTypeAdapter.write(writer, value); } + @Nullable @Override - public Board read(JsonReader reader) throws IOException { + public Board read(@NonNull JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; diff --git a/Examples/Java/Sources/Everything.java b/Examples/Java/Sources/Everything.java index 2d56372b..03ceeaf8 100644 --- a/Examples/Java/Sources/Everything.java +++ b/Examples/Java/Sources/Everything.java @@ -305,15 +305,18 @@ private Everything( this._bits = _bits; } + @NonNull public static Everything.Builder builder() { return new Everything.Builder(); } + @NonNull public Everything.Builder toBuilder() { return new Everything.Builder(this); } - public Everything mergeFrom(Everything model) { + @NonNull + public Everything mergeFrom(@NonNull Everything model) { Everything.Builder builder = this.toBuilder(); builder.mergeFrom(model); return builder.build(); @@ -781,6 +784,7 @@ private Builder(@NonNull Everything model) { this._bits = model._bits; } + @NonNull public Builder setArrayProp(@Nullable List value) { this.arrayProp = value; if (this._bits.length > ARRAY_PROP_INDEX) { @@ -789,6 +793,7 @@ public Builder setArrayProp(@Nullable List value) { return this; } + @NonNull public Builder setBooleanProp(@Nullable Boolean value) { this.booleanProp = value; if (this._bits.length > BOOLEAN_PROP_INDEX) { @@ -797,6 +802,7 @@ public Builder setBooleanProp(@Nullable Boolean value) { return this; } + @NonNull public Builder setCharEnum(@Nullable EverythingCharEnum value) { this.charEnum = value; if (this._bits.length > CHAR_ENUM_INDEX) { @@ -805,6 +811,7 @@ public Builder setCharEnum(@Nullable EverythingCharEnum value) { return this; } + @NonNull public Builder setDateProp(@Nullable Date value) { this.dateProp = value; if (this._bits.length > DATE_PROP_INDEX) { @@ -813,6 +820,7 @@ public Builder setDateProp(@Nullable Date value) { return this; } + @NonNull public Builder setIntEnum(@Nullable EverythingIntEnum value) { this.intEnum = value; if (this._bits.length > INT_ENUM_INDEX) { @@ -821,6 +829,7 @@ public Builder setIntEnum(@Nullable EverythingIntEnum value) { return this; } + @NonNull public Builder setIntProp(@Nullable Integer value) { this.intProp = value; if (this._bits.length > INT_PROP_INDEX) { @@ -829,6 +838,7 @@ public Builder setIntProp(@Nullable Integer value) { return this; } + @NonNull public Builder setListPolymorphicValues(@Nullable List value) { this.listPolymorphicValues = value; if (this._bits.length > LIST_POLYMORPHIC_VALUES_INDEX) { @@ -837,6 +847,7 @@ public Builder setListPolymorphicValues(@Nullable List value) { return this; } + @NonNull public Builder setListWithListAndOtherModelValues(@Nullable List> value) { this.listWithListAndOtherModelValues = value; if (this._bits.length > LIST_WITH_LIST_AND_OTHER_MODEL_VALUES_INDEX) { @@ -845,6 +856,7 @@ public Builder setListWithListAndOtherModelValues(@Nullable List> val return this; } + @NonNull public Builder setListWithMapAndOtherModelValues(@Nullable List> value) { this.listWithMapAndOtherModelValues = value; if (this._bits.length > LIST_WITH_MAP_AND_OTHER_MODEL_VALUES_INDEX) { @@ -853,6 +865,7 @@ public Builder setListWithMapAndOtherModelValues(@Nullable List value) { this.listWithObjectValues = value; if (this._bits.length > LIST_WITH_OBJECT_VALUES_INDEX) { @@ -861,6 +874,7 @@ public Builder setListWithObjectValues(@Nullable List value) { return this; } + @NonNull public Builder setListWithOtherModelValues(@Nullable List value) { this.listWithOtherModelValues = value; if (this._bits.length > LIST_WITH_OTHER_MODEL_VALUES_INDEX) { @@ -869,6 +883,7 @@ public Builder setListWithOtherModelValues(@Nullable List value) { return this; } + @NonNull public Builder setListWithPrimitiveValues(@Nullable List value) { this.listWithPrimitiveValues = value; if (this._bits.length > LIST_WITH_PRIMITIVE_VALUES_INDEX) { @@ -877,6 +892,7 @@ public Builder setListWithPrimitiveValues(@Nullable List value) { return this; } + @NonNull public Builder setMapPolymorphicValues(@Nullable Map value) { this.mapPolymorphicValues = value; if (this._bits.length > MAP_POLYMORPHIC_VALUES_INDEX) { @@ -885,6 +901,7 @@ public Builder setMapPolymorphicValues(@Nullable Map value) { this.mapProp = value; if (this._bits.length > MAP_PROP_INDEX) { @@ -893,6 +910,7 @@ public Builder setMapProp(@Nullable Map value) { return this; } + @NonNull public Builder setMapWithListAndOtherModelValues(@Nullable Map> value) { this.mapWithListAndOtherModelValues = value; if (this._bits.length > MAP_WITH_LIST_AND_OTHER_MODEL_VALUES_INDEX) { @@ -901,6 +919,7 @@ public Builder setMapWithListAndOtherModelValues(@Nullable Map> value) { this.mapWithMapAndOtherModelValues = value; if (this._bits.length > MAP_WITH_MAP_AND_OTHER_MODEL_VALUES_INDEX) { @@ -909,6 +928,7 @@ public Builder setMapWithMapAndOtherModelValues(@Nullable Map value) { this.mapWithObjectValues = value; if (this._bits.length > MAP_WITH_OBJECT_VALUES_INDEX) { @@ -917,6 +937,7 @@ public Builder setMapWithObjectValues(@Nullable Map value) { return this; } + @NonNull public Builder setMapWithOtherModelValues(@Nullable Map value) { this.mapWithOtherModelValues = value; if (this._bits.length > MAP_WITH_OTHER_MODEL_VALUES_INDEX) { @@ -925,6 +946,7 @@ public Builder setMapWithOtherModelValues(@Nullable Map value) { return this; } + @NonNull public Builder setMapWithPrimitiveValues(@Nullable Map value) { this.mapWithPrimitiveValues = value; if (this._bits.length > MAP_WITH_PRIMITIVE_VALUES_INDEX) { @@ -933,6 +955,7 @@ public Builder setMapWithPrimitiveValues(@Nullable Map value) { return this; } + @NonNull public Builder setNsintegerEnum(@Nullable EverythingNsintegerEnum value) { this.nsintegerEnum = value; if (this._bits.length > NSINTEGER_ENUM_INDEX) { @@ -941,6 +964,7 @@ public Builder setNsintegerEnum(@Nullable EverythingNsintegerEnum value) { return this; } + @NonNull public Builder setNsuintegerEnum(@Nullable EverythingNsuintegerEnum value) { this.nsuintegerEnum = value; if (this._bits.length > NSUINTEGER_ENUM_INDEX) { @@ -949,6 +973,7 @@ public Builder setNsuintegerEnum(@Nullable EverythingNsuintegerEnum value) { return this; } + @NonNull public Builder setNumberProp(@Nullable Double value) { this.numberProp = value; if (this._bits.length > NUMBER_PROP_INDEX) { @@ -957,6 +982,7 @@ public Builder setNumberProp(@Nullable Double value) { return this; } + @NonNull public Builder setOtherModelProp(@Nullable User value) { this.otherModelProp = value; if (this._bits.length > OTHER_MODEL_PROP_INDEX) { @@ -965,6 +991,7 @@ public Builder setOtherModelProp(@Nullable User value) { return this; } + @NonNull public Builder setPolymorphicProp(@Nullable EverythingPolymorphicProp value) { this.polymorphicProp = value; if (this._bits.length > POLYMORPHIC_PROP_INDEX) { @@ -973,6 +1000,7 @@ public Builder setPolymorphicProp(@Nullable EverythingPolymorphicProp value) { return this; } + @NonNull public Builder setSetProp(@Nullable Set value) { this.setProp = value; if (this._bits.length > SET_PROP_INDEX) { @@ -981,6 +1009,7 @@ public Builder setSetProp(@Nullable Set value) { return this; } + @NonNull public Builder setSetPropWithOtherModelValues(@Nullable Set value) { this.setPropWithOtherModelValues = value; if (this._bits.length > SET_PROP_WITH_OTHER_MODEL_VALUES_INDEX) { @@ -989,6 +1018,7 @@ public Builder setSetPropWithOtherModelValues(@Nullable Set value) { return this; } + @NonNull public Builder setSetPropWithPrimitiveValues(@Nullable Set value) { this.setPropWithPrimitiveValues = value; if (this._bits.length > SET_PROP_WITH_PRIMITIVE_VALUES_INDEX) { @@ -997,6 +1027,7 @@ public Builder setSetPropWithPrimitiveValues(@Nullable Set value) { return this; } + @NonNull public Builder setSetPropWithValues(@Nullable Set value) { this.setPropWithValues = value; if (this._bits.length > SET_PROP_WITH_VALUES_INDEX) { @@ -1005,6 +1036,7 @@ public Builder setSetPropWithValues(@Nullable Set value) { return this; } + @NonNull public Builder setShortEnum(@Nullable EverythingShortEnum value) { this.shortEnum = value; if (this._bits.length > SHORT_ENUM_INDEX) { @@ -1013,6 +1045,7 @@ public Builder setShortEnum(@Nullable EverythingShortEnum value) { return this; } + @NonNull public Builder setStringEnum(@Nullable EverythingStringEnum value) { this.stringEnum = value; if (this._bits.length > STRING_ENUM_INDEX) { @@ -1021,6 +1054,7 @@ public Builder setStringEnum(@Nullable EverythingStringEnum value) { return this; } + @NonNull public Builder setStringProp(@Nullable String value) { this.stringProp = value; if (this._bits.length > STRING_PROP_INDEX) { @@ -1029,6 +1063,7 @@ public Builder setStringProp(@Nullable String value) { return this; } + @NonNull public Builder setType(@Nullable String value) { this.type = value; if (this._bits.length > TYPE_INDEX) { @@ -1037,6 +1072,7 @@ public Builder setType(@Nullable String value) { return this; } + @NonNull public Builder setUnsignedCharEnum(@Nullable EverythingUnsignedCharEnum value) { this.unsignedCharEnum = value; if (this._bits.length > UNSIGNED_CHAR_ENUM_INDEX) { @@ -1045,6 +1081,7 @@ public Builder setUnsignedCharEnum(@Nullable EverythingUnsignedCharEnum value) { return this; } + @NonNull public Builder setUnsignedIntEnum(@Nullable EverythingUnsignedIntEnum value) { this.unsignedIntEnum = value; if (this._bits.length > UNSIGNED_INT_ENUM_INDEX) { @@ -1053,6 +1090,7 @@ public Builder setUnsignedIntEnum(@Nullable EverythingUnsignedIntEnum value) { return this; } + @NonNull public Builder setUnsignedShortEnum(@Nullable EverythingUnsignedShortEnum value) { this.unsignedShortEnum = value; if (this._bits.length > UNSIGNED_SHORT_ENUM_INDEX) { @@ -1061,6 +1099,7 @@ public Builder setUnsignedShortEnum(@Nullable EverythingUnsignedShortEnum value) return this; } + @NonNull public Builder setUriProp(@Nullable String value) { this.uriProp = value; if (this._bits.length > URI_PROP_INDEX) { @@ -1256,7 +1295,7 @@ public Everything build() { ); } - public void mergeFrom(Everything model) { + public void mergeFrom(@NonNull Everything model) { if (model.getArrayPropIsSet()) { this.arrayProp = model.arrayProp; if (this._bits.length > ARRAY_PROP_INDEX) { @@ -1478,8 +1517,9 @@ public void mergeFrom(Everything model) { public static class EverythingTypeAdapterFactory implements TypeAdapterFactory { + @Nullable @Override - public TypeAdapter create(Gson gson, TypeToken typeToken) { + public TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { if (!Everything.class.isAssignableFrom(typeToken.getRawType())) { return null; } @@ -1528,14 +1568,14 @@ public static class EverythingTypeAdapter extends TypeAdapter { private TypeAdapter stringTypeAdapter; private TypeAdapter userTypeAdapter; - public EverythingTypeAdapter(Gson gson, EverythingTypeAdapterFactory factory, TypeToken typeToken) { + public EverythingTypeAdapter(@NonNull Gson gson, EverythingTypeAdapterFactory factory, TypeToken typeToken) { this.factory = factory; this.gson = gson; this.typeToken = typeToken; } @Override - public void write(JsonWriter writer, Everything value) throws IOException { + public void write(@NonNull JsonWriter writer, Everything value) throws IOException { if (this.delegateTypeAdapter == null) { this.delegateTypeAdapter = this.gson.getDelegateAdapter(this.factory, this.typeToken); } @@ -1543,8 +1583,9 @@ public void write(JsonWriter writer, Everything value) throws IOException { this.delegateTypeAdapter.write(writer, value); } + @Nullable @Override - public Everything read(JsonReader reader) throws IOException { + public Everything read(@NonNull JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; diff --git a/Examples/Java/Sources/Image.java b/Examples/Java/Sources/Image.java index 06b8111a..d2b65ce4 100644 --- a/Examples/Java/Sources/Image.java +++ b/Examples/Java/Sources/Image.java @@ -54,15 +54,18 @@ private Image( this._bits = _bits; } + @NonNull public static Image.Builder builder() { return new Image.Builder(); } + @NonNull public Image.Builder toBuilder() { return new Image.Builder(this); } - public Image mergeFrom(Image model) { + @NonNull + public Image mergeFrom(@NonNull Image model) { Image.Builder builder = this.toBuilder(); builder.mergeFrom(model); return builder.build(); @@ -133,6 +136,7 @@ private Builder(@NonNull Image model) { this._bits = model._bits; } + @NonNull public Builder setHeight(@Nullable Integer value) { this.height = value; if (this._bits.length > HEIGHT_INDEX) { @@ -141,6 +145,7 @@ public Builder setHeight(@Nullable Integer value) { return this; } + @NonNull public Builder setUrl(@Nullable String value) { this.url = value; if (this._bits.length > URL_INDEX) { @@ -149,6 +154,7 @@ public Builder setUrl(@Nullable String value) { return this; } + @NonNull public Builder setWidth(@Nullable Integer value) { this.width = value; if (this._bits.length > WIDTH_INDEX) { @@ -179,7 +185,7 @@ public Image build() { ); } - public void mergeFrom(Image model) { + public void mergeFrom(@NonNull Image model) { if (model.getHeightIsSet()) { this.height = model.height; if (this._bits.length > HEIGHT_INDEX) { @@ -203,8 +209,9 @@ public void mergeFrom(Image model) { public static class ImageTypeAdapterFactory implements TypeAdapterFactory { + @Nullable @Override - public TypeAdapter create(Gson gson, TypeToken typeToken) { + public TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { if (!Image.class.isAssignableFrom(typeToken.getRawType())) { return null; } @@ -222,14 +229,14 @@ public static class ImageTypeAdapter extends TypeAdapter { private TypeAdapter integerTypeAdapter; private TypeAdapter stringTypeAdapter; - public ImageTypeAdapter(Gson gson, ImageTypeAdapterFactory factory, TypeToken typeToken) { + public ImageTypeAdapter(@NonNull Gson gson, ImageTypeAdapterFactory factory, TypeToken typeToken) { this.factory = factory; this.gson = gson; this.typeToken = typeToken; } @Override - public void write(JsonWriter writer, Image value) throws IOException { + public void write(@NonNull JsonWriter writer, Image value) throws IOException { if (this.delegateTypeAdapter == null) { this.delegateTypeAdapter = this.gson.getDelegateAdapter(this.factory, this.typeToken); } @@ -237,8 +244,9 @@ public void write(JsonWriter writer, Image value) throws IOException { this.delegateTypeAdapter.write(writer, value); } + @Nullable @Override - public Image read(JsonReader reader) throws IOException { + public Image read(@NonNull JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; diff --git a/Examples/Java/Sources/Model.java b/Examples/Java/Sources/Model.java index fa9ffe8e..f0dc0fa8 100644 --- a/Examples/Java/Sources/Model.java +++ b/Examples/Java/Sources/Model.java @@ -46,15 +46,18 @@ private Model( this._bits = _bits; } + @NonNull public static Model.Builder builder() { return new Model.Builder(); } + @NonNull public Model.Builder toBuilder() { return new Model.Builder(this); } - public Model mergeFrom(Model model) { + @NonNull + public Model mergeFrom(@NonNull Model model) { Model.Builder builder = this.toBuilder(); builder.mergeFrom(model); return builder.build(); @@ -99,6 +102,7 @@ private Builder(@NonNull Model model) { this._bits = model._bits; } + @NonNull public Builder setUid(@Nullable String value) { this.uid = value; if (this._bits.length > ID_INDEX) { @@ -119,7 +123,7 @@ public Model build() { ); } - public void mergeFrom(Model model) { + public void mergeFrom(@NonNull Model model) { if (model.getUidIsSet()) { this.uid = model.uid; if (this._bits.length > ID_INDEX) { @@ -131,8 +135,9 @@ public void mergeFrom(Model model) { public static class ModelTypeAdapterFactory implements TypeAdapterFactory { + @Nullable @Override - public TypeAdapter create(Gson gson, TypeToken typeToken) { + public TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { if (!Model.class.isAssignableFrom(typeToken.getRawType())) { return null; } @@ -149,14 +154,14 @@ public static class ModelTypeAdapter extends TypeAdapter { private TypeAdapter stringTypeAdapter; - public ModelTypeAdapter(Gson gson, ModelTypeAdapterFactory factory, TypeToken typeToken) { + public ModelTypeAdapter(@NonNull Gson gson, ModelTypeAdapterFactory factory, TypeToken typeToken) { this.factory = factory; this.gson = gson; this.typeToken = typeToken; } @Override - public void write(JsonWriter writer, Model value) throws IOException { + public void write(@NonNull JsonWriter writer, Model value) throws IOException { if (this.delegateTypeAdapter == null) { this.delegateTypeAdapter = this.gson.getDelegateAdapter(this.factory, this.typeToken); } @@ -164,8 +169,9 @@ public void write(JsonWriter writer, Model value) throws IOException { this.delegateTypeAdapter.write(writer, value); } + @Nullable @Override - public Model read(JsonReader reader) throws IOException { + public Model read(@NonNull JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; diff --git a/Examples/Java/Sources/Pin.java b/Examples/Java/Sources/Pin.java index 0190166f..b273b4e6 100644 --- a/Examples/Java/Sources/Pin.java +++ b/Examples/Java/Sources/Pin.java @@ -128,15 +128,18 @@ private Pin( this._bits = _bits; } + @NonNull public static Pin.Builder builder() { return new Pin.Builder(); } + @NonNull public Pin.Builder toBuilder() { return new Pin.Builder(this); } - public Pin mergeFrom(Pin model) { + @NonNull + public Pin mergeFrom(@NonNull Pin model) { Pin.Builder builder = this.toBuilder(); builder.mergeFrom(model); return builder.build(); @@ -373,6 +376,7 @@ private Builder(@NonNull Pin model) { this._bits = model._bits; } + @NonNull public Builder setAttribution(@Nullable Map value) { this.attribution = value; if (this._bits.length > ATTRIBUTION_INDEX) { @@ -381,6 +385,7 @@ public Builder setAttribution(@Nullable Map value) { return this; } + @NonNull public Builder setAttributionObjects(@Nullable List value) { this.attributionObjects = value; if (this._bits.length > ATTRIBUTION_OBJECTS_INDEX) { @@ -389,6 +394,7 @@ public Builder setAttributionObjects(@Nullable List value return this; } + @NonNull public Builder setBoard(@Nullable Board value) { this.board = value; if (this._bits.length > BOARD_INDEX) { @@ -397,6 +403,7 @@ public Builder setBoard(@Nullable Board value) { return this; } + @NonNull public Builder setColor(@Nullable String value) { this.color = value; if (this._bits.length > COLOR_INDEX) { @@ -405,6 +412,7 @@ public Builder setColor(@Nullable String value) { return this; } + @NonNull public Builder setCounts(@Nullable Map value) { this.counts = value; if (this._bits.length > COUNTS_INDEX) { @@ -413,6 +421,7 @@ public Builder setCounts(@Nullable Map value) { return this; } + @NonNull public Builder setCreatedAt(@NonNull Date value) { this.createdAt = value; if (this._bits.length > CREATED_AT_INDEX) { @@ -421,6 +430,7 @@ public Builder setCreatedAt(@NonNull Date value) { return this; } + @NonNull public Builder setCreator(@NonNull Map value) { this.creator = value; if (this._bits.length > CREATOR_INDEX) { @@ -429,6 +439,7 @@ public Builder setCreator(@NonNull Map value) { return this; } + @NonNull public Builder setDescription(@Nullable String value) { this.description = value; if (this._bits.length > DESCRIPTION_INDEX) { @@ -437,6 +448,7 @@ public Builder setDescription(@Nullable String value) { return this; } + @NonNull public Builder setUid(@NonNull String value) { this.uid = value; if (this._bits.length > ID_INDEX) { @@ -445,6 +457,7 @@ public Builder setUid(@NonNull String value) { return this; } + @NonNull public Builder setImage(@Nullable Image value) { this.image = value; if (this._bits.length > IMAGE_INDEX) { @@ -453,6 +466,7 @@ public Builder setImage(@Nullable Image value) { return this; } + @NonNull public Builder setInStock(@Nullable PinInStock value) { this.inStock = value; if (this._bits.length > IN_STOCK_INDEX) { @@ -461,6 +475,7 @@ public Builder setInStock(@Nullable PinInStock value) { return this; } + @NonNull public Builder setLink(@Nullable String value) { this.link = value; if (this._bits.length > LINK_INDEX) { @@ -469,6 +484,7 @@ public Builder setLink(@Nullable String value) { return this; } + @NonNull public Builder setMedia(@Nullable Map value) { this.media = value; if (this._bits.length > MEDIA_INDEX) { @@ -477,6 +493,7 @@ public Builder setMedia(@Nullable Map value) { return this; } + @NonNull public Builder setNote(@Nullable String value) { this.note = value; if (this._bits.length > NOTE_INDEX) { @@ -485,6 +502,7 @@ public Builder setNote(@Nullable String value) { return this; } + @NonNull public Builder setTags(@Nullable List> value) { this.tags = value; if (this._bits.length > TAGS_INDEX) { @@ -493,6 +511,7 @@ public Builder setTags(@Nullable List> value) { return this; } + @NonNull public Builder setUrl(@Nullable String value) { this.url = value; if (this._bits.length > URL_INDEX) { @@ -501,6 +520,7 @@ public Builder setUrl(@Nullable String value) { return this; } + @NonNull public Builder setVisualSearchAttrs(@Nullable Map value) { this.visualSearchAttrs = value; if (this._bits.length > VISUAL_SEARCH_ATTRS_INDEX) { @@ -601,7 +621,7 @@ public Pin build() { ); } - public void mergeFrom(Pin model) { + public void mergeFrom(@NonNull Pin model) { if (model.getAttributionIsSet()) { this.attribution = model.attribution; if (this._bits.length > ATTRIBUTION_INDEX) { @@ -709,8 +729,9 @@ public void mergeFrom(Pin model) { public static class PinTypeAdapterFactory implements TypeAdapterFactory { + @Nullable @Override - public TypeAdapter create(Gson gson, TypeToken typeToken) { + public TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { if (!Pin.class.isAssignableFrom(typeToken.getRawType())) { return null; } @@ -737,14 +758,14 @@ public static class PinTypeAdapter extends TypeAdapter { private TypeAdapter pinInStockTypeAdapter; private TypeAdapter stringTypeAdapter; - public PinTypeAdapter(Gson gson, PinTypeAdapterFactory factory, TypeToken typeToken) { + public PinTypeAdapter(@NonNull Gson gson, PinTypeAdapterFactory factory, TypeToken typeToken) { this.factory = factory; this.gson = gson; this.typeToken = typeToken; } @Override - public void write(JsonWriter writer, Pin value) throws IOException { + public void write(@NonNull JsonWriter writer, Pin value) throws IOException { if (this.delegateTypeAdapter == null) { this.delegateTypeAdapter = this.gson.getDelegateAdapter(this.factory, this.typeToken); } @@ -752,8 +773,9 @@ public void write(JsonWriter writer, Pin value) throws IOException { this.delegateTypeAdapter.write(writer, value); } + @Nullable @Override - public Pin read(JsonReader reader) throws IOException { + public Pin read(@NonNull JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; diff --git a/Examples/Java/Sources/User.java b/Examples/Java/Sources/User.java index baa5eca5..5eb28fe7 100644 --- a/Examples/Java/Sources/User.java +++ b/Examples/Java/Sources/User.java @@ -86,15 +86,18 @@ private User( this._bits = _bits; } + @NonNull public static User.Builder builder() { return new User.Builder(); } + @NonNull public User.Builder toBuilder() { return new User.Builder(this); } - public User mergeFrom(User model) { + @NonNull + public User mergeFrom(@NonNull User model) { User.Builder builder = this.toBuilder(); builder.mergeFrom(model); return builder.build(); @@ -247,6 +250,7 @@ private Builder(@NonNull User model) { this._bits = model._bits; } + @NonNull public Builder setBio(@Nullable String value) { this.bio = value; if (this._bits.length > BIO_INDEX) { @@ -255,6 +259,7 @@ public Builder setBio(@Nullable String value) { return this; } + @NonNull public Builder setCounts(@Nullable Map value) { this.counts = value; if (this._bits.length > COUNTS_INDEX) { @@ -263,6 +268,7 @@ public Builder setCounts(@Nullable Map value) { return this; } + @NonNull public Builder setCreatedAt(@Nullable Date value) { this.createdAt = value; if (this._bits.length > CREATED_AT_INDEX) { @@ -271,6 +277,7 @@ public Builder setCreatedAt(@Nullable Date value) { return this; } + @NonNull public Builder setEmailFrequency(@Nullable UserEmailFrequency value) { this.emailFrequency = value; if (this._bits.length > EMAIL_FREQUENCY_INDEX) { @@ -279,6 +286,7 @@ public Builder setEmailFrequency(@Nullable UserEmailFrequency value) { return this; } + @NonNull public Builder setFirstName(@Nullable String value) { this.firstName = value; if (this._bits.length > FIRST_NAME_INDEX) { @@ -287,6 +295,7 @@ public Builder setFirstName(@Nullable String value) { return this; } + @NonNull public Builder setUid(@Nullable String value) { this.uid = value; if (this._bits.length > ID_INDEX) { @@ -295,6 +304,7 @@ public Builder setUid(@Nullable String value) { return this; } + @NonNull public Builder setImage(@Nullable Image value) { this.image = value; if (this._bits.length > IMAGE_INDEX) { @@ -303,6 +313,7 @@ public Builder setImage(@Nullable Image value) { return this; } + @NonNull public Builder setLastName(@Nullable String value) { this.lastName = value; if (this._bits.length > LAST_NAME_INDEX) { @@ -311,6 +322,7 @@ public Builder setLastName(@Nullable String value) { return this; } + @NonNull public Builder setType(@Nullable String value) { this.type = value; if (this._bits.length > TYPE_INDEX) { @@ -319,6 +331,7 @@ public Builder setType(@Nullable String value) { return this; } + @NonNull public Builder setUsername(@Nullable String value) { this.username = value; if (this._bits.length > USERNAME_INDEX) { @@ -384,7 +397,7 @@ public User build() { ); } - public void mergeFrom(User model) { + public void mergeFrom(@NonNull User model) { if (model.getBioIsSet()) { this.bio = model.bio; if (this._bits.length > BIO_INDEX) { @@ -450,8 +463,9 @@ public void mergeFrom(User model) { public static class UserTypeAdapterFactory implements TypeAdapterFactory { + @Nullable @Override - public TypeAdapter create(Gson gson, TypeToken typeToken) { + public TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { if (!User.class.isAssignableFrom(typeToken.getRawType())) { return null; } @@ -472,14 +486,14 @@ public static class UserTypeAdapter extends TypeAdapter { private TypeAdapter stringTypeAdapter; private TypeAdapter userEmailFrequencyTypeAdapter; - public UserTypeAdapter(Gson gson, UserTypeAdapterFactory factory, TypeToken typeToken) { + public UserTypeAdapter(@NonNull Gson gson, UserTypeAdapterFactory factory, TypeToken typeToken) { this.factory = factory; this.gson = gson; this.typeToken = typeToken; } @Override - public void write(JsonWriter writer, User value) throws IOException { + public void write(@NonNull JsonWriter writer, User value) throws IOException { if (this.delegateTypeAdapter == null) { this.delegateTypeAdapter = this.gson.getDelegateAdapter(this.factory, this.typeToken); } @@ -487,8 +501,9 @@ public void write(JsonWriter writer, User value) throws IOException { this.delegateTypeAdapter.write(writer, value); } + @Nullable @Override - public User read(JsonReader reader) throws IOException { + public User read(@NonNull JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; diff --git a/Examples/Java/Sources/VariableSubtitution.java b/Examples/Java/Sources/VariableSubtitution.java index a2ab01eb..30e8d311 100644 --- a/Examples/Java/Sources/VariableSubtitution.java +++ b/Examples/Java/Sources/VariableSubtitution.java @@ -58,15 +58,18 @@ private VariableSubtitution( this._bits = _bits; } + @NonNull public static VariableSubtitution.Builder builder() { return new VariableSubtitution.Builder(); } + @NonNull public VariableSubtitution.Builder toBuilder() { return new VariableSubtitution.Builder(this); } - public VariableSubtitution mergeFrom(VariableSubtitution model) { + @NonNull + public VariableSubtitution mergeFrom(@NonNull VariableSubtitution model) { VariableSubtitution.Builder builder = this.toBuilder(); builder.mergeFrom(model); return builder.build(); @@ -151,6 +154,7 @@ private Builder(@NonNull VariableSubtitution model) { this._bits = model._bits; } + @NonNull public Builder setAllocProp(@Nullable Integer value) { this.allocProp = value; if (this._bits.length > ALLOC_PROP_INDEX) { @@ -159,6 +163,7 @@ public Builder setAllocProp(@Nullable Integer value) { return this; } + @NonNull public Builder setCopyProp(@Nullable Integer value) { this.copyProp = value; if (this._bits.length > COPY_PROP_INDEX) { @@ -167,6 +172,7 @@ public Builder setCopyProp(@Nullable Integer value) { return this; } + @NonNull public Builder setMutableCopyProp(@Nullable Integer value) { this.mutableCopyProp = value; if (this._bits.length > MUTABLE_COPY_PROP_INDEX) { @@ -175,6 +181,7 @@ public Builder setMutableCopyProp(@Nullable Integer value) { return this; } + @NonNull public Builder setNewProp(@Nullable Integer value) { this.newProp = value; if (this._bits.length > NEW_PROP_INDEX) { @@ -210,7 +217,7 @@ public VariableSubtitution build() { ); } - public void mergeFrom(VariableSubtitution model) { + public void mergeFrom(@NonNull VariableSubtitution model) { if (model.getAllocPropIsSet()) { this.allocProp = model.allocProp; if (this._bits.length > ALLOC_PROP_INDEX) { @@ -240,8 +247,9 @@ public void mergeFrom(VariableSubtitution model) { public static class VariableSubtitutionTypeAdapterFactory implements TypeAdapterFactory { + @Nullable @Override - public TypeAdapter create(Gson gson, TypeToken typeToken) { + public TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken) { if (!VariableSubtitution.class.isAssignableFrom(typeToken.getRawType())) { return null; } @@ -258,14 +266,14 @@ public static class VariableSubtitutionTypeAdapter extends TypeAdapter integerTypeAdapter; - public VariableSubtitutionTypeAdapter(Gson gson, VariableSubtitutionTypeAdapterFactory factory, TypeToken typeToken) { + public VariableSubtitutionTypeAdapter(@NonNull Gson gson, VariableSubtitutionTypeAdapterFactory factory, TypeToken typeToken) { this.factory = factory; this.gson = gson; this.typeToken = typeToken; } @Override - public void write(JsonWriter writer, VariableSubtitution value) throws IOException { + public void write(@NonNull JsonWriter writer, VariableSubtitution value) throws IOException { if (this.delegateTypeAdapter == null) { this.delegateTypeAdapter = this.gson.getDelegateAdapter(this.factory, this.typeToken); } @@ -273,8 +281,9 @@ public void write(JsonWriter writer, VariableSubtitution value) throws IOExcepti this.delegateTypeAdapter.write(writer, value); } + @Nullable @Override - public VariableSubtitution read(JsonReader reader) throws IOException { + public VariableSubtitution read(@NonNull JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; diff --git a/Sources/Core/JavaIR.swift b/Sources/Core/JavaIR.swift index 9f1cc9fe..9374ae59 100644 --- a/Sources/Core/JavaIR.swift +++ b/Sources/Core/JavaIR.swift @@ -207,7 +207,7 @@ public struct JavaIR { func render() -> [String] { // HACK: We should actually have an enum / optionset that we can check for abstract, static, ... - let annotationLines = annotations.map { "@\($0.rendered)" } + let annotationLines = annotations.map { "@\($0.rendered)" }.sorted() let throwsString = throwableExceptions.isEmpty ? "" : " throws " + throwableExceptions.joined(separator: ", ") @@ -359,7 +359,7 @@ public struct JavaIR { let extendsStmt = extends.map { " extends \($0) " } ?? "" - var lines = annotations.map { "@\($0.rendered)" } + [ + var lines = annotations.map { "@\($0.rendered)" }.sorted() + [ "\(modifiers.render()) class \(name)\(extendsStmt)\(implementsStmt) {", ] diff --git a/Sources/Core/JavaModelRenderer.swift b/Sources/Core/JavaModelRenderer.swift index 16dcbc1b..af45db76 100644 --- a/Sources/Core/JavaModelRenderer.swift +++ b/Sources/Core/JavaModelRenderer.swift @@ -157,7 +157,7 @@ public struct JavaModelRenderer: JavaFileRenderer { func renderModelMergeFrom() -> JavaIR.Method { let methodName = "mergeFrom" - return JavaIR.method(annotations: decorations.annotationsForMethod(methodName), [.public], className + " " + methodName + "(" + className + " model)") { [ + return JavaIR.method(annotations: decorations.annotationsForMethod(methodName).union([.nonnull]), [.public], className + " " + methodName + "(@NonNull " + className + " model)") { [ self.className + ".Builder builder = this.toBuilder();", "builder.mergeFrom(model);", "return builder.build();", @@ -166,11 +166,11 @@ public struct JavaModelRenderer: JavaFileRenderer { func renderModelToBuilder() -> JavaIR.Method { let methodName = "toBuilder" - return JavaIR.method(annotations: decorations.annotationsForMethod(methodName), [.public], className + ".Builder " + methodName + "()") { ["return new " + self.className + ".Builder(this);"] } + return JavaIR.method(annotations: decorations.annotationsForMethod(methodName).union([.nonnull]), [.public], className + ".Builder " + methodName + "()") { ["return new " + self.className + ".Builder(this);"] } } func renderModelBuilder() -> JavaIR.Method { - return JavaIR.method([.public, .static], className + ".Builder builder()") { [ + return JavaIR.method(annotations: [.nonnull], [.public, .static], className + ".Builder builder()") { [ "return new \(className).Builder();", ] } } @@ -207,7 +207,7 @@ public struct JavaModelRenderer: JavaFileRenderer { func renderBuilderSetters(modifiers: JavaModifier = [.public]) -> [JavaIR.Method] { let setters = transitiveProperties.map { param, schemaObj in - JavaIR.method(modifiers, "Builder set\(Languages.java.snakeCaseToCapitalizedPropertyName(param))(\(self.typeFromSchema(param, schemaObj)) value)") { [ + JavaIR.method(annotations: [.nonnull], modifiers, "Builder set\(Languages.java.snakeCaseToCapitalizedPropertyName(param))(\(self.typeFromSchema(param, schemaObj)) value)") { [ "this." + Languages.java.snakeCaseToPropertyName(param) + " = value;", JavaIR.ifBlock(condition: "this._bits.length > " + param.uppercased() + "_INDEX") { [ "this._bits[" + param.uppercased() + "_INDEX] = true;", @@ -227,7 +227,7 @@ public struct JavaModelRenderer: JavaFileRenderer { ] }, ] } }) - return JavaIR.method([.public], "void mergeFrom(" + className + " model)") { body } + return JavaIR.method([.public], "void mergeFrom(@NonNull " + className + " model)") { body } } func renderBuilderProperties(modifiers _: JavaModifier = [.private]) -> [[JavaIR.Property]] { @@ -243,7 +243,7 @@ public struct JavaModelRenderer: JavaFileRenderer { // MARK: - TypeAdapterFactory func renderTypeAdapterFactoryMethods() -> [JavaIR.Method] { - return [JavaIR.method(annotations: [JavaAnnotation.override], [.public], " TypeAdapter create(Gson gson, TypeToken typeToken)") { [ + return [JavaIR.method(annotations: [.nullable, JavaAnnotation.override], [.public], " TypeAdapter create(@NonNull Gson gson, @NonNull TypeToken typeToken)") { [ JavaIR.ifBlock(condition: "!" + className + ".class.isAssignableFrom(typeToken.getRawType())") { [ "return null;", ] }, @@ -308,7 +308,7 @@ public struct JavaModelRenderer: JavaFileRenderer { let constructor = JavaIR.method( annotations: [], [.public], - className + "TypeAdapter(Gson gson, " + className + "TypeAdapterFactory factory, TypeToken typeToken)" + className + "TypeAdapter(@NonNull Gson gson, " + className + "TypeAdapterFactory factory, TypeToken typeToken)" ) { [ "this.factory = factory;", "this.gson = gson;", @@ -319,7 +319,7 @@ public struct JavaModelRenderer: JavaFileRenderer { let write = JavaIR.methodThatThrows( annotations: [JavaAnnotation.override], [.public], - "void write(JsonWriter writer, " + className + " value)", + "void write(@NonNull JsonWriter writer, " + className + " value)", ["IOException"] ) { [ JavaIR.ifBlock(condition: "this.delegateTypeAdapter == null") { [ @@ -331,9 +331,9 @@ public struct JavaModelRenderer: JavaFileRenderer { } let read = JavaIR.methodThatThrows( - annotations: [JavaAnnotation.override], + annotations: [.nullable, JavaAnnotation.override], [.public], - className + " read(JsonReader reader)", + className + " read(@NonNull JsonReader reader)", ["IOException"] ) { [ JavaIR.ifBlock(condition: "reader.peek() == JsonToken.NULL") { [