1313
1414import java .io .File ;
1515import java .lang .reflect .Field ;
16- import java .lang .reflect .Method ;
1716import java .lang .reflect .Modifier ;
1817import java .lang .reflect .Type ;
1918import java .util .ArrayList ;
19+ import java .util .Arrays ;
20+ import java .util .Comparator ;
2021import java .util .Date ;
2122import java .util .HashSet ;
2223import java .util .Iterator ;
@@ -31,6 +32,8 @@ public class SimpleSource4Java {
3132 static String author = "Author" ;
3233 static String company = "Company" ;
3334
35+ static Set <Class <?>> eventClasses = new HashSet <Class <?>>();
36+
3437 @ SuppressWarnings ("deprecation" )
3538 public static String generateSourceFromInterface (Class <?> interfaceClazz ) {
3639 StringBuffer source = new StringBuffer ();
@@ -247,6 +250,7 @@ public static String generateSourceFromObject(SimpleSerializable s) {
247250 source .append (superClazzName );
248251 source .append (";\r \n " );
249252 if (SimpleSerializable .isSubclassOf (superClazz , SimplePipeRunnable .class )) {
253+ /*
250254 Method[] methods = s.getClass().getMethods();
251255 if (methods != null) {
252256 for (int i = 0; i < methods.length; i++) {
@@ -263,6 +267,28 @@ public static String generateSourceFromObject(SimpleSerializable s) {
263267 }
264268 }
265269 }
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+ }
266292 }
267293
268294 idx = superClazzName .lastIndexOf ('.' );
@@ -416,6 +442,7 @@ public static String generateSourceFromObject(SimpleSerializable s) {
416442 source .append ("\t }\r \n " );
417443 source .append ("\r \n " );
418444
445+ /*
419446 Method[] methods = s.getClass().getMethods();
420447 if (methods != null) {
421448 for (int i = 0; i < methods.length; i++) {
@@ -442,6 +469,34 @@ public static String generateSourceFromObject(SimpleSerializable s) {
442469 }
443470 }
444471 }
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+ }
445500 moreCodesAdded = true ;
446501 } else if (s instanceof SimpleRPCRunnable ) {
447502 source .append ("\t @Override\r \n " );
@@ -483,7 +538,24 @@ public static void main(String[] args) {
483538 folder = f .getName ();
484539 author = args [1 ];
485540 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+
487559 for (int i = 1 + 2 ; i < args .length ; i ++) {
488560 String j2sSimpleClazz = args [i ];
489561 try {
0 commit comments