import swarm.Selector;( x4 r6 [& E7 y; D
7 e6 {8 i9 a9 E" L- D
public class SwarmUtils {0 O2 C' L9 `4 z6 p
public static Selector getSelector(String name, String method) {- l* V$ U* b! m: e
Selector sel;
$ q" k- c8 W$ A) V, Z( F5 y6 g try {
5 L; y+ p; s* d" A7 q; c+ N) G sel = new Selector(Class.forName(name), method, false);
9 f; R; @' s$ {$ x } catch (Exception e) {# g) t- H7 \& l3 G' x6 Y
System.err.println("There was an error in creating a Selector for method " + method + "\nin Class " + name + ".");
" { p6 V, N( e. `" C& I; q5 M0 r System.err.println(name + "." + method + " returns " + e.getMessage());
3 y1 \" A" u$ x1 }% R M4 Q System.err.println("The process will be terminated.");
! G7 f6 X; \0 I/ C2 ] System.exit(1);
( J! l* m; X" {7 i' c- _ return null;
$ U+ Y: ~* N T }
! Y# A( X. k$ j% p% f$ k return sel;
, j7 _$ m6 {0 J0 }/ }" I }
, N( [! a+ O* Y& C! s6 C
5 `7 o! e! E* N4 P public static Selector getSelector(Object obj, String method) {
: a" {# t9 W/ L/ H7 e( [8 j' } Selector sel;
$ z0 _4 z/ h3 j" i9 [8 ~, [ try {4 U b0 j3 s0 D* X6 R
sel = new Selector(obj.getClass(), method, false);
8 A# A+ L7 e {0 E5 F- B: g5 F, L } catch (Exception e) {6 Q# B, p' W1 A9 D G2 X ?
System.err.println("There was an error in creating a Selector for method " + method + "\nin Class "# J4 {- J; l U: \( v, T- X: L
+ (obj.getClass()).getName() + ".");& D- E( A- j7 S& o$ R5 W1 Q
System.err.println((obj.getClass()).getName() + "." + method + " returns " + e.getMessage());
$ e4 U/ f- {+ F% x System.err.println("The process will be terminated.");
. g6 M8 U( e5 v6 ?/ [9 ^ System.exit(1);
/ [4 T7 F$ Q0 P# L x8 T: x return null;
$ d! A. T. S! R4 f }( `5 c9 P; N M! Q
return sel;
- D" x. L9 d' N8 t* m/ t) V: ? } D1 K9 _5 k, D* u6 @# L
} |