Listing 2. The StockData (ConcreteSubject) class:
public class StockData implements Subject
{
private String symbol;
private float close;
private float high;
private float low;
private long volume;
private List<Observer> observers;
public StockData()
{
observers = new ArrayList();
}
public String getSymbol()
{
return symbol;
}
public float getClose()
{
return close;
}
public float getHigh()
{
return high;
}
public float getLow()
{
return low;
}
public long getVolume()
{
return volume;
}
public void attach(Observer observer)
{
observers.add(observer);
}
public void detach(Observer observer)
{
int i = observers.indexOf(observer);
if(i >= 0)
observers.remove(i);
}
public void notifyObservers()
{
int n = observers.size();
for(int i = 0;i < n;++i)
{
Observer observer = (Observer)observers.get(i);
observer.update(symbol,close,high,low,volume);
}
}
public void sendStockData()
{
notifyObservers();
}
public void setStockData(String symbol,float close,float high,float low,long volume)
{
this.symbol = symbol;
this.close = close;
this.high = high;
this.low = low;
this.volume = volume;
sendStockData();
}
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|