1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| public class MaClasse {
private final int apiLevel;
private final String url;
public MaClasse(int apiLevel) {
this.apiLevel = apiLevel;
switch (apiLevel) {
case 1:
url = "...";
break;
default:
url = "xxx";
break;
}
}
public static Future<MaClasse> request() {
final FutureTask<MaClasse> future = new FutureTask<MaClasse>(maClasseRequest);
final Thread thread = new Thread(future);
thread.setDaemon(true);
thread.start();
return future;
}
private static final Callable<MaClasse> maClasseRequest = new Callable<MaClasse>() {
@Override
public MaClasse call() throws Exception {
//Requête HTTP + lecture de réponse
return new MaClasse(responseApiLevel);
}
};
} |