
package adapterpatternclass;

import animals.*;
import wildanimals.*;


public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        System.out.println("Preparing animal report");
        Execute exec = new Execute();
        
        exec.addAnimal(new Duck());
        exec.addAnimal(new Dolphin());
        
        //exec.addAnimal(new Lion()); //Not possible, Execute.add's parameter is Animal, but Lion is of type WildAnimals
        //exec.addAnimal(new Wolf()); //Not possible, Execute.add's parameter is Animal, but Lion is of type WildAnimals
        
        //uncomment these next two lines
        //exec.addAnimal(new LionAdapter());
        //exec.addAnimal(new WolfAdapter());
        
        System.out.println("Printing animal report:");
        exec.report();
        
    }
    
}
