All pastes #741001 Raw Edit

Someone

public text v1 · immutable
·published 2007-10-18 11:58 UTC
rendered paste body

import java.io.*;

public class Welcome
{
        Mediator mediator;
        String response = "n";
        
        public Welcome (Mediator m)     /* Constructor Welkom Pagina, neemt mediator object als arg, slaat dus mediator object in zichzelf op */
        {
            mediator = m;
        }
                
        public void go()                /* Go method om het te launchen */
        {
            System.out.print(
                "Do you want to shop? [y/n]?");
            BufferedReader reader = new
                BufferedReader (new InputStreamReader(System.in));
                
                try {
                        response = reader.readLine();
                }
                catch (IOException e)
                {
                    System.err.println("Error");
                }
                
                if (response.equals("y"))
                {
                    mediator.handle("welcome.shop");                     /* Op deze manier behandeld de mediator de reqs om van pagina naar pagina te gaan */
                }
                else
                {
                    mediator.handle("welcome.exit");
                }
        }
}

import java.io.*;

public class Shop
{
    Mediator mediator;
    String response = "n";
    
    public Shop(Mediator m)
    {
        mediator = m;
    }
    
    public void go()                                                            /* Iedere pagina heeft natuurlijk een go method */
    {
        System.out.print(
            "Are you ready to purchase? [y/n]?");
        BufferedReader reader = new
           BufferedReader (new InputStreamReader(System.in));
           try{
               response = reader.readLine();                              /* Sla result in response string */
           }
           catch(IOException e)
           {
               System.err.prinln("Error");
           }
           
           if (response.equals("y"))
               {
                   mediator.handle("shop.purchase");
               }
               else 
               {
                   mediator.handle("shop.exit");
               }
    }
}

import java.io.*;

public class Purchase
{
    Mediator mediator;
    String response = "n";
    
    public Purchase(Mediator m)
    {
        mediator = m;
    }
    
    public void go()
    {
        System.out.print(
            "Buy the item now? [y/n]?");
        BufferedReader reader = new
           BufferedReader (new InputStreamReader(System.in));
           try{
               response = reader.readLine();                              /* Sla result in response string */
           }
           catch(IOException e)
           {
               System.err.prinln("Error");
           }
           
           if (response.equals("y"))
               {
                   System.out.println("Thanks for your purchase.");
               }
               else 
               {
                   mediator.handle("purchase.exit");
               }
    }
}

import java.io.*;

public class Exit
{
    Mediator mediator;
    
    public Exit(Mediator m)
    {
        mediator = m;
    }
    
    public void go()
    {
        System.out.println(
            "Please come again sometime.");
    }
}

        
        
/* Nu moeten we nog een mediator hebben die bemiddeld tussen alle pages */

public class Mediator
{
    Welcome welcome;
    Shop shop;
    Purchase purchase;
    Exit exit;
    
    public Mediator() /* Constructor maakt 4 pages aan */
    {
        welcome = new Welcome(this);
        shop = new Shop(this);
        purchase = new Purchase(this);
        exit = new Exit(this);
    }
    
    
    public void handle(String state)                                              /* New state passed als string aan handle method van mediator */
    {
        if(state.equals("welcome.shop"))                                          /* Krijgt method door, en showed nieuwe state waarin je bent */
        {
            shop.go();
        }
        else if(state.equals("shop.purchase"))
        {
            purchase.go();
        }
        else if(state.equals("purchase.exit"))
        {
            exit.go();
        }
        else if(state.equals("welcome.exit"))
        {
            exit.go();
        }
        else if(state.equals("shop.exit"))
        {
            exit.go();
        }
        else if(state.equals("purchase.exit"))
        {
            exit.go();
        }
    }
    
    public Welcome getWelcome()
    {
       return welcome;
    }
}

public class TestMediator
{
    public static void main(String args[])
    {
        TestMediator t = new TestMediator();
    }
    
    public TestMediator()                                                               /* Constructor maakt nieuw mediator object aan */
    {
        Mediator mediator = new Mediator();
        
        mediator.getWelcome().go();
    }
    
}