13
13
14
14
import java .io .File ;
15
15
import java .lang .reflect .Field ;
16
- import java .lang .reflect .Method ;
17
16
import java .lang .reflect .Modifier ;
18
17
import java .lang .reflect .Type ;
19
18
import java .util .ArrayList ;
19
+ import java .util .Arrays ;
20
+ import java .util .Comparator ;
20
21
import java .util .Date ;
21
22
import java .util .HashSet ;
22
23
import java .util .Iterator ;
@@ -31,6 +32,8 @@ public class SimpleSource4Java {
31
32
static String author = "Author" ;
32
33
static String company = "Company" ;
33
34
35
+ static Set <Class <?>> eventClasses = new HashSet <Class <?>>();
36
+
34
37
@ SuppressWarnings ("deprecation" )
35
38
public static String generateSourceFromInterface (Class <?> interfaceClazz ) {
36
39
StringBuffer source = new StringBuffer ();
@@ -247,6 +250,7 @@ public static String generateSourceFromObject(SimpleSerializable s) {
247
250
source .append (superClazzName );
248
251
source .append (";\r \n " );
249
252
if (SimpleSerializable .isSubclassOf (superClazz , SimplePipeRunnable .class )) {
253
+ /*
250
254
Method[] methods = s.getClass().getMethods();
251
255
if (methods != null) {
252
256
for (int i = 0; i < methods.length; i++) {
@@ -263,6 +267,28 @@ public static String generateSourceFromObject(SimpleSerializable s) {
263
267
}
264
268
}
265
269
}
270
+ // */
271
+ Class <?>[] evtClazzes = eventClasses .toArray (new Class <?>[eventClasses .size ()]);
272
+ Arrays .sort (evtClazzes , new Comparator <Class <?>>() {
273
+
274
+ public int compare (Class <?> c1 , Class <?> c2 ) {
275
+ String name1 = c1 .getName ();
276
+ String name2 = c2 .getName ();
277
+ return name1 .compareTo (name2 );
278
+ }
279
+
280
+ });
281
+ source .append ("import net.sf.j2s.ajax.SimpleSerializable;\r \n " );
282
+ for (int i = 0 ; i < evtClazzes .length ; i ++) {
283
+ Class <?> evtClazz = evtClazzes [i ];
284
+ String evtClazzName = evtClazz .getName ();
285
+ if ("net.sf.j2s.ajax.SimpleSerializable" .equals (evtClazzName )) {
286
+ continue ;
287
+ }
288
+ source .append ("import " );
289
+ source .append (evtClazzName );
290
+ source .append (";\r \n " );
291
+ }
266
292
}
267
293
268
294
idx = superClazzName .lastIndexOf ('.' );
@@ -416,6 +442,7 @@ public static String generateSourceFromObject(SimpleSerializable s) {
416
442
source .append ("\t }\r \n " );
417
443
source .append ("\r \n " );
418
444
445
+ /*
419
446
Method[] methods = s.getClass().getMethods();
420
447
if (methods != null) {
421
448
for (int i = 0; i < methods.length; i++) {
@@ -442,6 +469,34 @@ public static String generateSourceFromObject(SimpleSerializable s) {
442
469
}
443
470
}
444
471
}
472
+ // */
473
+ Class <?>[] evtClazzes = eventClasses .toArray (new Class <?>[eventClasses .size ()]);
474
+ Arrays .sort (evtClazzes , new Comparator <Class <?>>() {
475
+
476
+ public int compare (Class <?> c1 , Class <?> c2 ) {
477
+ String name1 = c1 .getSimpleName ();
478
+ String name2 = c2 .getSimpleName ();
479
+ return name1 .compareTo (name2 );
480
+ }
481
+
482
+ });
483
+ for (int i = 0 ; i < evtClazzes .length ; i ++) {
484
+ Class <?> evtClazz = evtClazzes [i ];
485
+ String evtClazzName = evtClazz .getName ();
486
+ if ("net.sf.j2s.ajax.SimpleSerializable" .equals (evtClazzName )) {
487
+ continue ;
488
+ }
489
+ int paramIdx = evtClazzName .lastIndexOf ('.' );
490
+ if (paramIdx != -1 ) {
491
+ evtClazzName = evtClazzName .substring (paramIdx + 1 );
492
+ }
493
+ source .append ("\t public boolean deal(" );
494
+ source .append (evtClazzName );
495
+ source .append (" e) {\r \n " );
496
+ source .append ("\t \t return true;\r \n " );
497
+ source .append ("\t }\r \n " );
498
+ source .append ("\r \n " );
499
+ }
445
500
moreCodesAdded = true ;
446
501
} else if (s instanceof SimpleRPCRunnable ) {
447
502
source .append ("\t @Override\r \n " );
@@ -483,7 +538,24 @@ public static void main(String[] args) {
483
538
folder = f .getName ();
484
539
author = args [1 ];
485
540
company = args [2 ];
486
-
541
+
542
+ for (int i = 1 + 2 ; i < args .length ; i ++) {
543
+ String j2sSimpleClazz = args [i ];
544
+ try {
545
+ Class <?> clazz = Class .forName (j2sSimpleClazz );
546
+ if (clazz .isInterface ()) {
547
+ continue ;
548
+ }
549
+ Object inst = clazz .newInstance ();
550
+ if (inst instanceof SimpleSerializable && !(inst instanceof SimpleRPCRunnable )) {
551
+ eventClasses .add (clazz );
552
+ }
553
+ } catch (Throwable e ) {
554
+ System .out .println ("Error: " + j2sSimpleClazz );
555
+ e .printStackTrace ();
556
+ }
557
+ }
558
+
487
559
for (int i = 1 + 2 ; i < args .length ; i ++) {
488
560
String j2sSimpleClazz = args [i ];
489
561
try {
0 commit comments