package com.cheng.zenofdesignpatterns.perfectworld.observer_mediator;
/**
*
*/
public class ProductManager {
// 是否可以创建一个产品
private boolean isPermittedCreate = false;
// 建立一个产品
public Product createProduct(String name) {
// 首先修改权限,允许创建
isPermittedCreate = true;
Product p = new Product(this, name);
// 产生一个创建事件
new ProductEvent(p, ProductEventType.NEW_PRODUCT);
return p;
}
// 废弃一个产品
public void abandonProduct(Product p) {
// 销毁一个产品,例如删除数据库记录
// 产生删除事件
new ProductEvent(p, ProductEventType.DEL_PRODUCT);
p = null;
}
// 修改一个产品
public void editProduct(Product p, String name) {
// 修改后的产品
p.setName(name);
// 产生修改事件
new ProductEvent(p, ProductEventType.EDIT_PRODUCT);
}
// 获得是否可以创建一个产品
public boolean isCreateProduct() {
return isPermittedCreate;
}
// 克隆一个产品
public Product clone(Product p) {
// 产生克隆事件
new ProductEvent(p, ProductEventType.CLONE_PRODUCT);
return p.clone();
}
}