Apex(force.com)では以下のようにTypeクラスを使用して動的にインスタンスを生成できる。
SObject obj = (SObject)Type.forName('Account').newInstance();
obj.put('name','TEST');
insert obj;
これを利用してバッチを動的に起動することも可能
Database.Batchable<sObject> batch =
(Database.Batchable<sObject>)Type.forName('TestBatch').newInstance();
Database.executeBatch(batch);
スケジュールもこんな感じで書ける
Schedulable sch = (Schedulable)Type.forName('TestBatchSch').newInstance();
system.schedule('TestSchedule', '48 29 1 20 12 ? 2012',sch);
問題はnewInstanceメソッドは引数がないので、コンストラクタに引数がないバッチ、スケジュールしか汎用化できないっぽいこと。
せめてObjectのリストを渡していければなーと思うのだが、、、。