@@ -751,12 +751,7 @@ private <T> Single<T> invoke(Type returnType, Class<?> returnClass, String metho
751751 // run continuations on a separate thread
752752 Subject <Object > pendingCall = irq .getPendingCall ();
753753 pendingCall .subscribe (result -> {
754- // Primitive types can't be cast with the Class cast function
755- if (returnClass .isPrimitive ()) {
756- subject .onSuccess ((T )result );
757- } else {
758- subject .onSuccess ((T )returnClass .cast (result ));
759- }
754+ subject .onSuccess (Utils .<T >cast (returnClass , result ));
760755 }, error -> subject .onError (error ));
761756
762757 // Make sure the actual send is after setting up the callbacks otherwise there is a race
@@ -813,12 +808,7 @@ private <T> Observable<T> stream(Type returnType, Class<?> returnClass, String m
813808 ReplaySubject <T > subject = ReplaySubject .create ();
814809 Subject <Object > pendingCall = irq .getPendingCall ();
815810 pendingCall .subscribe (result -> {
816- // Primitive types can't be cast with the Class cast function
817- if (returnClass .isPrimitive ()) {
818- subject .onNext ((T )result );
819- } else {
820- subject .onNext ((T )returnClass .cast (result ));
821- }
811+ subject .onNext (Utils .<T >cast (returnClass , result ));
822812 }, error -> subject .onError (error ),
823813 () -> subject .onComplete ());
824814
@@ -907,7 +897,7 @@ public Subscription on(String target, Action callback) {
907897 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
908898 */
909899 public <T1 > Subscription on (String target , Action1 <T1 > callback , Class <T1 > param1 ) {
910- ActionBase action = params -> callback .invoke (param1 . cast (params [0 ]));
900+ ActionBase action = params -> callback .invoke (Utils .< T1 > cast (param1 , params [0 ]));
911901 return registerHandler (target , action , param1 );
912902
913903 }
@@ -926,7 +916,7 @@ public <T1> Subscription on(String target, Action1<T1> callback, Class<T1> param
926916 */
927917 public <T1 , T2 > Subscription on (String target , Action2 <T1 , T2 > callback , Class <T1 > param1 , Class <T2 > param2 ) {
928918 ActionBase action = params -> {
929- callback .invoke (param1 . cast (params [0 ]), param2 . cast (params [1 ]));
919+ callback .invoke (Utils .< T1 > cast (param1 , params [0 ]), Utils .< T2 > cast (param2 , params [1 ]));
930920 };
931921 return registerHandler (target , action , param1 , param2 );
932922 }
@@ -948,7 +938,7 @@ public <T1, T2> Subscription on(String target, Action2<T1, T2> callback, Class<T
948938 public <T1 , T2 , T3 > Subscription on (String target , Action3 <T1 , T2 , T3 > callback ,
949939 Class <T1 > param1 , Class <T2 > param2 , Class <T3 > param3 ) {
950940 ActionBase action = params -> {
951- callback .invoke (param1 . cast (params [0 ]), param2 . cast (params [1 ]), param3 . cast (params [2 ]));
941+ callback .invoke (Utils .< T1 > cast (param1 , params [0 ]), Utils .< T2 > cast (param2 , params [1 ]), Utils .< T3 > cast (param3 , params [2 ]));
952942 };
953943 return registerHandler (target , action , param1 , param2 , param3 );
954944 }
@@ -972,7 +962,8 @@ public <T1, T2, T3> Subscription on(String target, Action3<T1, T2, T3> callback,
972962 public <T1 , T2 , T3 , T4 > Subscription on (String target , Action4 <T1 , T2 , T3 , T4 > callback ,
973963 Class <T1 > param1 , Class <T2 > param2 , Class <T3 > param3 , Class <T4 > param4 ) {
974964 ActionBase action = params -> {
975- callback .invoke (param1 .cast (params [0 ]), param2 .cast (params [1 ]), param3 .cast (params [2 ]), param4 .cast (params [3 ]));
965+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]), Utils .<T2 >cast (param2 , params [1 ]), Utils .<T3 >cast (param3 , params [2 ]),
966+ Utils .<T4 >cast (param4 , params [3 ]));
976967 };
977968 return registerHandler (target , action , param1 , param2 , param3 , param4 );
978969 }
@@ -998,8 +989,8 @@ public <T1, T2, T3, T4> Subscription on(String target, Action4<T1, T2, T3, T4> c
998989 public <T1 , T2 , T3 , T4 , T5 > Subscription on (String target , Action5 <T1 , T2 , T3 , T4 , T5 > callback ,
999990 Class <T1 > param1 , Class <T2 > param2 , Class <T3 > param3 , Class <T4 > param4 , Class <T5 > param5 ) {
1000991 ActionBase action = params -> {
1001- callback .invoke (param1 . cast (params [0 ]), param2 . cast (params [1 ]), param3 . cast (params [ 2 ]), param4 . cast ( params [3 ]),
1002- param5 . cast (params [4 ]));
992+ callback .invoke (Utils .< T1 > cast (param1 , params [0 ]), Utils .< T2 > cast (param2 , params [1 ]), Utils .< T3 > cast (param3 , params [2 ]),
993+ Utils .< T4 > cast ( param4 , params [ 3 ]), Utils .< T5 > cast (param5 , params [4 ]));
1003994 };
1004995 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 );
1005996 }
@@ -1027,8 +1018,8 @@ public <T1, T2, T3, T4, T5> Subscription on(String target, Action5<T1, T2, T3, T
10271018 public <T1 , T2 , T3 , T4 , T5 , T6 > Subscription on (String target , Action6 <T1 , T2 , T3 , T4 , T5 , T6 > callback ,
10281019 Class <T1 > param1 , Class <T2 > param2 , Class <T3 > param3 , Class <T4 > param4 , Class <T5 > param5 , Class <T6 > param6 ) {
10291020 ActionBase action = params -> {
1030- callback .invoke (param1 . cast (params [0 ]), param2 . cast (params [1 ]), param3 . cast (params [ 2 ]), param4 . cast ( params [3 ]),
1031- param5 . cast (params [4 ]), param6 . cast (params [5 ]));
1021+ callback .invoke (Utils .< T1 > cast (param1 , params [0 ]), Utils .< T2 > cast (param2 , params [1 ]), Utils .< T3 > cast (param3 , params [2 ]),
1022+ Utils .< T4 > cast ( param4 , params [ 3 ]), Utils .< T5 > cast (param5 , params [4 ]), Utils .< T6 > cast (param6 , params [5 ]));
10321023 };
10331024 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 , param6 );
10341025 }
@@ -1058,8 +1049,8 @@ public <T1, T2, T3, T4, T5, T6> Subscription on(String target, Action6<T1, T2, T
10581049 public <T1 , T2 , T3 , T4 , T5 , T6 , T7 > Subscription on (String target , Action7 <T1 , T2 , T3 , T4 , T5 , T6 , T7 > callback ,
10591050 Class <T1 > param1 , Class <T2 > param2 , Class <T3 > param3 , Class <T4 > param4 , Class <T5 > param5 , Class <T6 > param6 , Class <T7 > param7 ) {
10601051 ActionBase action = params -> {
1061- callback .invoke (param1 . cast (params [0 ]), param2 . cast (params [1 ]), param3 . cast (params [ 2 ]), param4 . cast ( params [3 ]),
1062- param5 . cast (params [4 ]), param6 . cast (params [5 ]), param7 . cast (params [6 ]));
1052+ callback .invoke (Utils .< T1 > cast (param1 , params [0 ]), Utils .< T2 > cast (param2 , params [1 ]), Utils .< T3 > cast (param3 , params [2 ]),
1053+ Utils .< T4 > cast ( param4 , params [ 3 ]), Utils .< T5 > cast (param5 , params [4 ]), Utils .< T6 > cast (param6 , params [5 ]), Utils .< T7 > cast (param7 , params [6 ]));
10631054 };
10641055 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 , param6 , param7 );
10651056 }
@@ -1091,8 +1082,9 @@ public <T1, T2, T3, T4, T5, T6, T7> Subscription on(String target, Action7<T1, T
10911082 public <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > Subscription on (String target , Action8 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > callback ,
10921083 Class <T1 > param1 , Class <T2 > param2 , Class <T3 > param3 , Class <T4 > param4 , Class <T5 > param5 , Class <T6 > param6 , Class <T7 > param7 , Class <T8 > param8 ) {
10931084 ActionBase action = params -> {
1094- callback .invoke (param1 .cast (params [0 ]), param2 .cast (params [1 ]), param3 .cast (params [2 ]), param4 .cast (params [3 ]),
1095- param5 .cast (params [4 ]), param6 .cast (params [5 ]), param7 .cast (params [6 ]), param8 .cast (params [7 ]));
1085+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]), Utils .<T2 >cast (param2 , params [1 ]), Utils .<T3 >cast (param3 , params [2 ]),
1086+ Utils .<T4 >cast (param4 , params [3 ]), Utils .<T5 >cast (param5 , params [4 ]), Utils .<T6 >cast (param6 , params [5 ]), Utils .<T7 >cast (param7 , params [6 ]),
1087+ Utils .<T8 >cast (param8 , params [7 ]));
10961088 };
10971089 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 , param6 , param7 , param8 );
10981090 }
@@ -1108,9 +1100,10 @@ public <T1, T2, T3, T4, T5, T6, T7, T8> Subscription on(String target, Action8<T
11081100 * @param <T1> The first argument type.
11091101 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
11101102 */
1111- @ SuppressWarnings ("unchecked" )
11121103 public <T1 > Subscription on (String target , Action1 <T1 > callback , Type param1 ) {
1113- ActionBase action = params -> callback .invoke ((T1 )Utils .typeToClass (param1 ).cast (params [0 ]));
1104+ ActionBase action = params -> {
1105+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]));
1106+ };
11141107 return registerHandler (target , action , param1 );
11151108 }
11161109
@@ -1127,10 +1120,9 @@ public <T1> Subscription on(String target, Action1<T1> callback, Type param1) {
11271120 * @param <T2> The second parameter type.
11281121 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
11291122 */
1130- @ SuppressWarnings ("unchecked" )
11311123 public <T1 , T2 > Subscription on (String target , Action2 <T1 , T2 > callback , Type param1 , Type param2 ) {
11321124 ActionBase action = params -> {
1133- callback .invoke (( T1 ) Utils .typeToClass ( param1 ). cast (params [0 ]), ( T2 ) Utils .typeToClass ( param2 ). cast (params [1 ]));
1125+ callback .invoke (Utils .< T1 > cast (param1 , params [0 ]), Utils .< T2 > cast (param2 , params [1 ]));
11341126 };
11351127 return registerHandler (target , action , param1 , param2 );
11361128 }
@@ -1150,12 +1142,10 @@ public <T1, T2> Subscription on(String target, Action2<T1, T2> callback, Type pa
11501142 * @param <T3> The third parameter type.
11511143 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
11521144 */
1153- @ SuppressWarnings ("unchecked" )
11541145 public <T1 , T2 , T3 > Subscription on (String target , Action3 <T1 , T2 , T3 > callback ,
11551146 Type param1 , Type param2 , Type param3 ) {
11561147 ActionBase action = params -> {
1157- callback .invoke ((T1 )Utils .typeToClass (param1 ).cast (params [0 ]), (T2 )Utils .typeToClass (param2 ).cast (params [1 ]),
1158- (T3 )Utils .typeToClass (param3 ).cast (params [2 ]));
1148+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]), Utils .<T2 >cast (param2 , params [1 ]), Utils .<T3 >cast (param3 , params [2 ]));
11591149 };
11601150 return registerHandler (target , action , param1 , param2 , param3 );
11611151 }
@@ -1177,12 +1167,11 @@ public <T1, T2, T3> Subscription on(String target, Action3<T1, T2, T3> callback,
11771167 * @param <T4> The fourth parameter type.
11781168 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
11791169 */
1180- @ SuppressWarnings ("unchecked" )
11811170 public <T1 , T2 , T3 , T4 > Subscription on (String target , Action4 <T1 , T2 , T3 , T4 > callback ,
11821171 Type param1 , Type param2 , Type param3 , Type param4 ) {
11831172 ActionBase action = params -> {
1184- callback .invoke (( T1 ) Utils .typeToClass ( param1 ). cast (params [0 ]), ( T2 ) Utils .typeToClass (param2 ). cast (params [1 ]),
1185- ( T3 ) Utils .typeToClass ( param3 ). cast (params [ 2 ]), ( T4 ) Utils . typeToClass ( param4 ). cast ( params [3 ]));
1173+ callback .invoke (Utils .< T1 > cast (param1 , params [0 ]), Utils .< T2 > cast (param2 , params [ 1 ]), Utils .< T3 > cast (param3 , params [2 ]),
1174+ Utils .< T4 > cast (param4 , params [3 ]));
11861175 };
11871176 return registerHandler (target , action , param1 , param2 , param3 , param4 );
11881177 }
@@ -1206,13 +1195,11 @@ public <T1, T2, T3, T4> Subscription on(String target, Action4<T1, T2, T3, T4> c
12061195 * @param <T5> The fifth parameter type.
12071196 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
12081197 */
1209- @ SuppressWarnings ("unchecked" )
12101198 public <T1 , T2 , T3 , T4 , T5 > Subscription on (String target , Action5 <T1 , T2 , T3 , T4 , T5 > callback ,
12111199 Type param1 , Type param2 , Type param3 , Type param4 , Type param5 ) {
12121200 ActionBase action = params -> {
1213- callback .invoke ((T1 )Utils .typeToClass (param1 ).cast (params [0 ]), (T2 )Utils .typeToClass (param2 ).cast (params [1 ]),
1214- (T3 )Utils .typeToClass (param3 ).cast (params [2 ]), (T4 )Utils .typeToClass (param4 ).cast (params [3 ]),
1215- (T5 )Utils .typeToClass (param5 ).cast (params [4 ]));
1201+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]), Utils .<T2 >cast (param2 , params [1 ]), Utils .<T3 >cast (param3 , params [2 ]),
1202+ Utils .<T4 >cast (param4 , params [3 ]), Utils .<T5 >cast (param5 , params [4 ]));
12161203 };
12171204 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 );
12181205 }
@@ -1238,13 +1225,11 @@ public <T1, T2, T3, T4, T5> Subscription on(String target, Action5<T1, T2, T3, T
12381225 * @param <T6> The sixth parameter type.
12391226 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
12401227 */
1241- @ SuppressWarnings ("unchecked" )
12421228 public <T1 , T2 , T3 , T4 , T5 , T6 > Subscription on (String target , Action6 <T1 , T2 , T3 , T4 , T5 , T6 > callback ,
12431229 Type param1 , Type param2 , Type param3 , Type param4 , Type param5 , Type param6 ) {
12441230 ActionBase action = params -> {
1245- callback .invoke ((T1 )Utils .typeToClass (param1 ).cast (params [0 ]), (T2 )Utils .typeToClass (param2 ).cast (params [1 ]),
1246- (T3 )Utils .typeToClass (param3 ).cast (params [2 ]), (T4 )Utils .typeToClass (param4 ).cast (params [3 ]),
1247- (T5 )Utils .typeToClass (param5 ).cast (params [4 ]), (T6 )Utils .typeToClass (param6 ).cast (params [5 ]));
1231+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]), Utils .<T2 >cast (param2 , params [1 ]), Utils .<T3 >cast (param3 , params [2 ]),
1232+ Utils .<T4 >cast (param4 , params [3 ]), Utils .<T5 >cast (param5 , params [4 ]), Utils .<T6 >cast (param6 , params [5 ]));
12481233 };
12491234 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 , param6 );
12501235 }
@@ -1272,14 +1257,11 @@ public <T1, T2, T3, T4, T5, T6> Subscription on(String target, Action6<T1, T2, T
12721257 * @param <T7> The seventh parameter type.
12731258 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
12741259 */
1275- @ SuppressWarnings ("unchecked" )
12761260 public <T1 , T2 , T3 , T4 , T5 , T6 , T7 > Subscription on (String target , Action7 <T1 , T2 , T3 , T4 , T5 , T6 , T7 > callback ,
12771261 Type param1 , Type param2 , Type param3 , Type param4 , Type param5 , Type param6 , Type param7 ) {
12781262 ActionBase action = params -> {
1279- callback .invoke ((T1 )Utils .typeToClass (param1 ).cast (params [0 ]), (T2 )Utils .typeToClass (param2 ).cast (params [1 ]),
1280- (T3 )Utils .typeToClass (param3 ).cast (params [2 ]), (T4 )Utils .typeToClass (param4 ).cast (params [3 ]),
1281- (T5 )Utils .typeToClass (param5 ).cast (params [4 ]), (T6 )Utils .typeToClass (param6 ).cast (params [5 ]),
1282- (T7 )Utils .typeToClass (param7 ).cast (params [6 ]));
1263+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]), Utils .<T2 >cast (param2 , params [1 ]), Utils .<T3 >cast (param3 , params [2 ]),
1264+ Utils .<T4 >cast (param4 , params [3 ]), Utils .<T5 >cast (param5 , params [4 ]), Utils .<T6 >cast (param6 , params [5 ]), Utils .<T7 >cast (param7 , params [6 ]));
12831265 };
12841266 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 , param6 , param7 );
12851267 }
@@ -1309,15 +1291,13 @@ public <T1, T2, T3, T4, T5, T6, T7> Subscription on(String target, Action7<T1, T
13091291 * @param <T8> The eighth parameter type.
13101292 * @return A {@link Subscription} that can be disposed to unsubscribe from the hub method.
13111293 */
1312- @ SuppressWarnings ("unchecked" )
13131294 public <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > Subscription on (String target , Action8 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > callback ,
13141295 Type param1 , Type param2 , Type param3 , Type param4 , Type param5 , Type param6 , Type param7 ,
13151296 Type param8 ) {
13161297 ActionBase action = params -> {
1317- callback .invoke ((T1 )Utils .typeToClass (param1 ).cast (params [0 ]), (T2 )Utils .typeToClass (param2 ).cast (params [1 ]),
1318- (T3 )Utils .typeToClass (param3 ).cast (params [2 ]), (T4 )Utils .typeToClass (param4 ).cast (params [3 ]),
1319- (T5 )Utils .typeToClass (param5 ).cast (params [4 ]), (T6 )Utils .typeToClass (param6 ).cast (params [5 ]),
1320- (T7 )Utils .typeToClass (param7 ).cast (params [6 ]), (T8 )Utils .typeToClass (param8 ).cast (params [7 ]));
1298+ callback .invoke (Utils .<T1 >cast (param1 , params [0 ]), Utils .<T2 >cast (param2 , params [1 ]), Utils .<T3 >cast (param3 , params [2 ]),
1299+ Utils .<T4 >cast (param4 , params [3 ]), Utils .<T5 >cast (param5 , params [4 ]), Utils .<T6 >cast (param6 , params [5 ]), Utils .<T7 >cast (param7 , params [6 ]),
1300+ Utils .<T8 >cast (param8 , params [7 ]));
13211301 };
13221302 return registerHandler (target , action , param1 , param2 , param3 , param4 , param5 , param6 , param7 , param8 );
13231303 }
0 commit comments