usersearchdbobserver.java

来自「此文档针对开发人员和测试人员。第二章对软件进行了全面的描述。第三章对接口进行了分」· Java 代码 · 共 125 行

JAVA
125
字号
package com.ciash.bms.observer.impl;

import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;

import javax.swing.JOptionPane;

import com.ciash.bms.entity.User;
import com.ciash.bms.gui.search.loader.UserLoaderPanel;
import com.ciash.bms.gui.uiInter.SearchUI;
import com.ciash.bms.model.impl.UserSearchModel;
import com.ciash.bms.observer.UserSearchObserver;

/**
 * <p>Title: BMS</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2009</p>
 * <p>Company: Cigarette Ash Inc.</p>
 * @author Cigarette Ash
 * @version 1.0
 */

public class UserSearchDBObserver implements UserSearchObserver{

    public SearchUI getSearchUI() {
		return searchUI;
	}

	public void setSearchUI(SearchUI searchUI) {
		this.searchUI = searchUI;
	}

	public UserSearchModel getUserSearchModel() {
		return userSearchModel;
	}

	public void setUserSearchModel(UserSearchModel userSearchModel) {
		this.userSearchModel = userSearchModel;
	}

	private SearchUI searchUI;
    private Vector updaters = new Vector();
    private UserSearchModel userSearchModel;

    public UserSearchDBObserver(UserSearchModel userSearchModel,SearchUI searchUI) {
        this.searchUI = searchUI;
        this.userSearchModel = userSearchModel;
    }

	public UserSearchDBObserver() {
	}

	// ---------------------------------------------------------------------------------------------
    // 实现自 接口 UserSearchController
    public void findUserByName() {
        clearAll();
        Collection c = userSearchModel.findUserByName(searchUI.getSearchInfo());
        checkUsers(c);
        installAll(c);
    }

    public void findUserById() {
        clearAll();
        User u = userSearchModel.findUserById(searchUI.getSearchInfo());
        if (u == null) {
            warning("用户");
            return;
        }
        installAll(u);
    }



    public void addUserResultUpdater(UserLoaderPanel updater) {
        updaters.add(updater);
    }

    public void removeUserResultUpdater(UserLoaderPanel updater){
        updaters.remove(updater);
    }

    public UserLoaderPanel getUserResultUpdater(int i){
        return (UserLoaderPanel) updaters.get(i);
    }

    // ---------------------------------------------------------------------------------------------
    // 私有方法
    private void checkUsers(Collection c) {
        if (c.size() == 0) {
            warning("用户");
            return;
        }
    }

    public void warning(String info){
        JOptionPane.showMessageDialog(null, "没有找到相关的" + info, "提示!"
            , JOptionPane.WARNING_MESSAGE);
    }

    // ---------------------------------------------------------------------------------------------
    private void clearAll() {
        Iterator it = updaters.iterator();
        while (it.hasNext()) {
            UserLoaderPanel loader = (UserLoaderPanel) it.next();
            loader.clearResult();
        }
    }

    private void installAll(Collection c) {
        Iterator it = updaters.iterator();
        while (it.hasNext()) {
            UserLoaderPanel loader = (UserLoaderPanel) it.next();
            loader.install(c);
        }
    }

    private void installAll(User u) {
        Iterator it = updaters.iterator();
        while (it.hasNext()) {
            UserLoaderPanel loader = (UserLoaderPanel) it.next();
            loader.installUser(u);
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?