author | Jaroslav Tulach <jtulach@netbeans.org> |
Sat, 14 Jun 2008 10:06:54 +0200 | |
changeset 219 | 3fb53f65db57 |
child 233 | 15d31c98a129 |
permissions | -rw-r--r-- |
jtulach@219 | 1 |
package org.apidesign.anagram.app.register; |
jtulach@219 | 2 |
|
jtulach@219 | 3 |
import org.apidesign.anagram.api.Scrambler; |
jtulach@219 | 4 |
import org.apidesign.anagram.api.UI; |
jtulach@219 | 5 |
import org.apidesign.anagram.api.WordLibrary; |
jtulach@219 | 6 |
|
jtulach@219 | 7 |
public final class Launcher { |
jtulach@219 | 8 |
private static Class<? extends WordLibrary> wordLibrary; |
jtulach@219 | 9 |
private static Class<? extends Scrambler> scrambler; |
jtulach@219 | 10 |
private static Class<? extends UI> ui; |
jtulach@219 | 11 |
|
jtulach@219 | 12 |
|
jtulach@219 | 13 |
private Launcher() { |
jtulach@219 | 14 |
} |
jtulach@219 | 15 |
|
jtulach@219 | 16 |
|
jtulach@219 | 17 |
public static void registerWordLibrary(Class<? extends WordLibrary> libraryClass) { |
jtulach@219 | 18 |
wordLibrary = libraryClass; |
jtulach@219 | 19 |
} |
jtulach@219 | 20 |
public static void registerScrambler(Class<? extends Scrambler> scramblerClass) { |
jtulach@219 | 21 |
scrambler = scramblerClass; |
jtulach@219 | 22 |
} |
jtulach@219 | 23 |
public static void registerUI(Class<? extends UI> uiClass) { |
jtulach@219 | 24 |
ui = uiClass; |
jtulach@219 | 25 |
} |
jtulach@219 | 26 |
|
jtulach@219 | 27 |
public static UI launch() throws Exception { |
jtulach@219 | 28 |
WordLibrary w = wordLibrary.newInstance(); |
jtulach@219 | 29 |
Scrambler s = scrambler.newInstance(); |
jtulach@219 | 30 |
return ui.getConstructor(WordLibrary.class, Scrambler.class).newInstance(w, s); |
jtulach@219 | 31 |
} |
jtulach@219 | 32 |
} |