Observer pattern [2]
Advertisements
package observerDM;
import java.util.Observable;
public class ConcreteSubject extends Observable {
public ConcreteSubject(String _name , float _price) {
this.name = _name;
this.price = _price;
System.out.println("ConcreteSubject created:" + _name + "at" + _price);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
setChanged();
notifyObservers(name);
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
setChanged();
notifyObservers(price);
}
private String name ;
private float price ;
}
package observerDM;
import java.util.Observable;
import java.util.Observer;
public class NameObserver implements Observer {
public NameObserver() {
this.name = null ;
System.out.println("NameObserver has created:Name is :" + this.name);
}
public void update(Observable o, Object arg) {
if(arg instanceof String) {
name = (String)arg;
System.out.println("NameObserver has changed:Name is :" + name);
}else {
System.out.println("NameObserver :some other change to subject");
}
}
private String name ;
}
package observerDM;
import java.util.Observable;
import java.util.Observer;
public class PriceObserver implements Observer {
public PriceObserver() {
this.price = 0 ;
System.out.println("PriceObserver has created : Price is :" + price);
}
public void update(Observable o, Object arg) {
if(arg instanceof Float) {
price = ((Float)arg).floatValue();
System.out.println("PriceObserver has changed:Price is :" + price);
}else {
System.out.println("PriceObserver :some other change to subject");
}
}
private float price ;
}
package observerDM;
public class TestObservers {
public static void main(String[] args){
ConcreteSubject sub = new ConcreteSubject("Com pops",(float)1.30);
NameObserver name = new NameObserver();
PriceObserver price = new PriceObserver();
sub.addObserver(name);
sub.addObserver(price);
sub.setName("Frosted Flakes");
sub.setPrice((float)1.40);
sub.setPrice((float)2.03);
sub.setName("helloWorld");
}
}
Related Posts of Observer pattern [2]
-
hibernate generic generic DAO
package org.lzpeng.dao; import java.io.Serializable; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.criterion.Criterion; import org.springside.modules.orm.hibernate.Page; /** * * @version 2009-1-10 *
-
Servlet brief introduction
Servlet brief introduction: Servlet is a small application server Are used to complete the B / S architecture, the client requests the response to treatment Platform independence, performance, able to run thread Servlet API for Servlet provides the s ...
-
First Hibernate Example
Curd a simple example. Source does not contain the dependent libraries, or playing too much of the package. PO object Note: One must have the default constructor 2 non-final modified. Otherwise useless lazy loading. UserDAOImpl category code, and other co
-
Struts2 + hibernate + spring problem user log in
dao layer services layer action jsp <tr> <td align="center"> <b> user name: </ b> </ td> <td> <s: textfield name = "czyNumber" cssClass = "textstyle" theme = "simple" size = &q
-
The level Hibernate cache
Hibernate cache level: (1) a cache is very short and the session life cycle consistent, also known as session-level cache-level cache or transaction-level cache (2) Ways of Supporting level cache: get (); load (); iterator (); only entity object cach ...












