Dear all.
 
In following from my wife's email (and yes it was my wife really, not me messing about).  Here's the code for the Hospital Tea.  In fact it's a generic tea bean (not coffee), via a factory pattern.  Works for me fine and dandy-o.  And it's javadoc'd as well :)
 
CupOfTea.java
package com.jaseb.tea;
import java.util.ArrayList;
import java.util.List;
/**
* @author Jason Bell
*/
public class CupOfTea {
    protected int sugars = 0;
    protected int secondsTeaBagLeftInCup = 0;
    protected String amountOfMilk = "";
/**
* <p>Some people like the milk first, before they stick the teabag in and then add the sugar...</p>
*/
    protected List itemOrder = new ArrayList();
/**
* <p>Returns the amount of milk poured into the cup.</p>
* @return String
*/
    public String getAmountOfMilk() {
        return amountOfMilk;
    }
/**
* <p>Number of seconds that the teabag is left in the cup.</p>
* @return int
*/
    public int getSecondsTeaBagLeftInCup() {
        return secondsTeaBagLeftInCup;
    }
/**
* <p>Returns the number of teaspoons of sugar are in the cup.</p>
* @return int
*/
    public int getSugars() {
        return sugars;
    }
/**
* Sets the amountOfMilk.
* @param amountOfMilk The amountOfMilk to set
*/
    public void setAmountOfMilk(String amountOfMilk) {
        this.amountOfMilk = amountOfMilk;
    }
/**
* Sets the secondsTeaBagLeftInCup.
* @param secondsTeaBagLeftInCup The secondsTeaBagLeftInCup to set
*/
    public void setSecondsTeaBagLeftInCup(int secondsTeaBagLeftInCup) {
        this.secondsTeaBagLeftInCup = secondsTeaBagLeftInCup;
    }
/**
* Sets the sugars.
* @param sugars The sugars to set
*/
       public void setSugars(int sugars) {
        this.sugars = sugars;
    }
/**
* @return List
*/
    public List getItemOrder() {
        return itemOrder;
    }
/**
* Sets the itemOrder.
* @param itemOrder The itemOrder to set
*/
    public void setItemOrder(List itemOrder) {
       this.itemOrder = itemOrder;
    }
}
 
CupOfTeaMngr.java
package com.jaseb.tea;
/**
* @author Jason Bell
*/
public abstract class CupOfTeaMngr {
private static CupOfTeaMngr instance;
private static synchronized void createInstance() {
    if (instance == null) {
        Class mgr = null;
        CupOfTeaMngr um = null;
        try {
            String classname = "com.jaseb.tea.StreamCupOfTeaMngr";
            mgr =
            Thread.currentThread().getContextClassLoader().loadClass(
            classname);
        } catch (ClassNotFoundException e) {
        e.printStackTrace();
            }
            try {
                um = (CupOfTeaMngr) mgr.newInstance();
                instance = um;
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
    }
    public static CupOfTeaMngr getInstance() {
    if (instance == null) {
        createInstance();
    }
        return instance;
    }
    protected CupOfTeaMngr() {
    }
    public abstract void makeTea(CupOfTea tea) throws Exception;
}
 
StreamCupOfTeaMngr.java
package com.jaseb.tea;
/**
* @author Jason Bell
*/
public class StreamCupOfTeaMngr extends CupOfTeaMngr{
    public void makeTea(CupOfTea tea){
        System.out.println("Making tea....");
        String strength = "normal";
        if(tea.getSecondsTeaBagLeftInCup() <= 1){
            strength = "hosptial";
        } else if(tea.getSecondsTeaBagLeftInCup() > 1 &&    
                        tea.getSecondsTeaBagLeftInCup() < 15) {
            strength = "normal";
        } else if(tea.getSecondsTeaBagLeftInCup() > 16){
            strength = "strong";
        }
        System.out.println("Strength is " + strength);
        System.out.println("Adding milk " + tea.getAmountOfMilk());
        System.out.println("Adding " + tea.getSugars() + " sugars.");
    }
}
 
MakeACupOfTea.java
package com.jaseb.tea;
/**
* @author Jason Bell
*/
public class MakeACupOfTea {
    public MakeACupOfTea() {
        CupOfTea prepareCup = new CupOfTea();
        prepareCup.setSecondsTeaBagLeftInCup(1);
        prepareCup.setSugars(2);
        prepareCup.setAmountOfMilk(" lots and lots ");
 
        CupOfTeaMngr thisCup = CupOfTeaMngr.getInstance();
        try {
            thisCup.makeTea(prepareCup);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args){
        MakeACupOfTea tea = new MakeACupOfTea();
    }
}
 
 
---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
http://www.sys-con.com/fusetalk

Reply via email to