⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usersearchdbobserver.java

📁 此文档针对开发人员和测试人员。第二章对软件进行了全面的描述。第三章对接口进行了分析。第四章对软件实现的功能进行概述。第五章对软件后续开发实现提出的要求。第六章提出其他一些在软件开发过程中需要注意的问题
💻 JAVA
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -