33import com .google .common .collect .Lists ;
44import com .google .gson .JsonElement ;
55import com .google .gson .JsonObject ;
6+ import rml .deserializer .struct .std .StructElement ;
7+ import rml .deserializer .struct .std .StructObject ;
68import rml .jrx .announces .EarlyClass ;
79import rml .jrx .announces .PublicAPI ;
810
@@ -35,8 +37,8 @@ public T cast(DeserializerBuilder.Context context) {
3537 public static <E > Argument <E > type (String name , Class <E > clazz ) {
3638 return new Argument <E >(name ) {
3739 @ Override
38- public void execute (DeserializerManager manager , JsonObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
39- JsonElement element = DeserializerManager .getFromPath (jsonObject , name );
40+ public void execute (DeserializerManager manager , StructObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
41+ StructElement element = DeserializerManager .getFromPath (jsonObject , name );
4042 if (element != null ){
4143 try {
4244 final Class <?> clazz2 = DeserializerBuilder .avoidPrimitive (clazz );
@@ -56,7 +58,7 @@ public static Argument<Integer> integer(String name, Function<Integer, Throwable
5658 return new Argument <Integer >(name ) {
5759 @ Override
5860 public void execute (DeserializerManager manager , JsonObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
59- JsonElement element = DeserializerManager .getFromPath (jsonObject , name );
61+ StructElement element = DeserializerManager .getFromPath (jsonObject , name );
6062 if (element != null ){
6163 Integer obj = null ;
6264 try {
@@ -92,8 +94,8 @@ public static Argument<Integer> positiveInteger(String name) {
9294 public static Argument <Float > floatArgument (String name , Function <Float , Throwable > predicate ){
9395 return new Argument <Float >(name ) {
9496 @ Override
95- public void execute (DeserializerManager manager , JsonObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
96- JsonElement element = DeserializerManager .getFromPath (jsonObject , name );
97+ public void execute (DeserializerManager manager , StructObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
98+ StructElement element = DeserializerManager .getFromPath (jsonObject , name );
9799 if (element != null ){
98100 Float obj = null ;
99101 try {
@@ -129,8 +131,8 @@ public static Argument<Float> positiveFloat(String name){
129131 public static Argument <Boolean > bool (String name , Function <Boolean , Throwable > predicate ){
130132 return new Argument <Boolean >(name ) {
131133 @ Override
132- public void execute (DeserializerManager manager , JsonObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
133- JsonElement element = DeserializerManager .getFromPath (jsonObject , name );
134+ public void execute (DeserializerManager manager , StructObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
135+ StructElement element = DeserializerManager .getFromPath (jsonObject , name );
134136 if (element != null ){
135137 Boolean obj = null ;
136138 try {
@@ -154,12 +156,12 @@ public void execute(DeserializerManager manager, JsonObject jsonObject, Deserial
154156 public static <T > Argument <Map <String , T >> map (String name , final Class <T > clazz ){
155157 return new Argument <Map <String , T >>(name ) {
156158 @ Override
157- public void execute (DeserializerManager manager , JsonObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
158- JsonElement element = DeserializerManager .getFromPath (jsonObject , name );
159+ public void execute (DeserializerManager manager , StructObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
160+ StructElement element = DeserializerManager .getFromPath (jsonObject , name );
159161 if (element != null ){
160- if (!element .isJsonObject ()) throw new JsonDeserializeException (jsonObject , "field" + name + "is required be json object." );
162+ if (!element .isObject ()) throw new JsonDeserializeException (jsonObject , "field" + name + "is required be json object." );
161163 try {
162- Map <String , T > map = element .getAsJsonObject ().entrySet ().stream ().collect (Collectors .toMap ((entry ) -> entry .getKey (), (entry ) -> manager .decodeSilently (clazz , entry .getValue ())));
164+ Map <String , T > map = element .getAsObject ().entrySet ().stream ().collect (Collectors .toMap ((entry ) -> entry .getKey (), (entry ) -> manager .decodeSilently (clazz , entry .getValue ())));
163165 context .put (name , map );
164166 }catch (Exception e ){
165167 throw new JsonDeserializeException (element , e );
@@ -174,8 +176,8 @@ public void execute(DeserializerManager manager, JsonObject jsonObject, Deserial
174176 public static <T > Argument <List <T >> list (String name , final Class <T > clazz ){
175177 return new Argument <List <T >>(name ) {
176178 @ Override
177- public void execute (DeserializerManager manager , JsonObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
178- JsonElement element = DeserializerManager .getFromPath (jsonObject , name );
179+ public void execute (DeserializerManager manager , StructObject jsonObject , DeserializerBuilder .Context context ) throws JsonDeserializeException {
180+ StructElement element = DeserializerManager .getFromPath (jsonObject , name );
179181 if (element != null ){
180182 try {
181183 Class <?> arrayCls = Array .newInstance (clazz , 0 ).getClass ();
0 commit comments