reflect

動的にクラスを読み込み実行してみた。Javaなかなか楽しいなぁ。

		String myClass = (String)args.get(0);
		Map paramMap = (Map)args.get(1);
		try {
			Class cls = Class.forName("tomyhero.action." + myClass );
			try {
				Method method = cls.getMethod("doAction", new Class[]{Map.class} );
				try {
					method.invoke(cls.newInstance(), new Object[]{paramMap} );
				} catch (IllegalArgumentException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IllegalAccessException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (InvocationTargetException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (InstantiationException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			} catch (SecurityException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NoSuchMethodException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}