1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project// Copyright 2007 The Android Open Source Project
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return stuff.
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class Main {
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public static void main(String[] args) {
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("pick 1");
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        pickOne(1).run();
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println(((CommonInterface)pickOne(1)).doStuff());
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("pick 2");
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        pickOne(2).run();
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println(((CommonInterface)pickOne(2)).doStuff());
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("pick 3");
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        pickOne(3).run();
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public static Runnable pickOne(int which) {
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Runnable runme;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        if (which == 1)
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            runme = new ClassOne();
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        else if (which == 2)
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            runme = new ClassTwo();
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        else if (which == 3)
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            runme = new ClassThree();
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        else
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            runme = null;
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return runme;
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectclass ClassOne implements CommonInterface, Runnable {
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void run() {
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("one running");
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public int doStuff() {
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("one");
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return 1;
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectclass ClassTwo implements CommonInterface, Runnable {
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void run() {
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("two running");
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public int doStuff() {
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("two");
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        return 2;
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectclass ClassThree implements Runnable {
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void run() {
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        System.out.println("three running");
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectinterface CommonInterface {
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    int doStuff();
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
66