@@ -75,8 +75,13 @@ String generateMethods(String type) {
7575 "\t public void set" + suffix + "(Object element) {\n " +
7676 "\t \t this.element = (" +type +")element;\n " +
7777 "\t \t " + extend + ".getInstance" + suffix + "().set" + suffix + "(this.element);\n " +
78- "\t }\n \n " +
79- "\t public void run" + suffix + "() {\n " +
78+ "\t }\n \n " ;
79+ sb .append (result );
80+ }
81+ if (methodCounts > 0 ) {
82+ for (int i = 0 ; i < runnablesAndCallablesCounts ; i ++) {
83+ String suffix = i == 0 ? "" : "" + i ;
84+ String result = "\t public void run" + suffix + "() {\n " +
8085 "\t \t try {\n " +
8186 "\t \t \t this.call" + suffix + "();\n " +
8287 "\t \t } catch (Exception e) {}\n " +
@@ -91,20 +96,25 @@ String generateMethods(String type) {
9196 "\t \t " + "r = " + extend + ".instance::run;\n " +
9297 "\t \t " + "r.run();\n " +
9398 "\t \t " + extend + ".getInstance" + suffix + "().run();\n " +
94- "\t }\n \n " +
95- "\t public " +type +" call" + suffix + "() throws Exception {\n " +
96- "\t \t " + extend + ".getInstance" + suffix + "().call();\n " +
97- "\t \t " + "java.util.concurrent.Callable<?> c = () -> {\n " +
98- "\t \t " + " call" + suffix + "();\n " +
99- "\t \t " + " set(this);\n " +
100- "\t \t " + " return get();\n " +
101- "\t \t " + "};\n " +
102- "\t \t " + "c.call();\n " +
103- "\t \t " + "c = " + extend + ".getInstance" + suffix + "()::call;\n " +
104- "\t \t " + "c.call();\n " +
105- "\t \t return (" +type +")" + extend + ".getInstance" + suffix + "().call" + suffix + "();\n " +
106- "\t }\n " ;
107- sb .append (result );
99+ "\t }\n \n " ;
100+ sb .append (result );
101+ }
102+ for (int i = 0 ; i < runnablesAndCallablesCounts ; i ++) {
103+ String suffix = i == 0 ? "" : "" + i ;
104+ String result = "\t public " +type +" call" + suffix + "() throws Exception {\n " +
105+ "\t \t " + extend + ".getInstance" + suffix + "().call();\n " +
106+ "\t \t " + "java.util.concurrent.Callable<?> c = () -> {\n " +
107+ "\t \t " + " call" + suffix + "();\n " +
108+ "\t \t " + " set(this);\n " +
109+ "\t \t " + " return get();\n " +
110+ "\t \t " + "};\n " +
111+ "\t \t " + "c.call();\n " +
112+ "\t \t " + "c = " + extend + ".getInstance" + suffix + "()::call;\n " +
113+ "\t \t " + "c.call();\n " +
114+ "\t \t return (" +type +")" + extend + ".getInstance" + suffix + "().call" + suffix + "();\n " +
115+ "\t }\n \n " ;
116+ sb .append (result );
117+ }
108118 }
109119 return sb .toString ();
110120 }
0 commit comments