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

📄 taskexecuter.java

📁 手机银行测试程序
💻 JAVA
字号:
package com.sunnitech.VirtualBank.nts;

import java.io.*;


public class TaskExecuter {
    private TaskListener taskAction = null;
    private DataInputStream dis = null;
    private DataOutputStream dos = null;

    public void setInputStream(DataInputStream din) {
        this.dis = din;
    }

    public void setOutputStream(DataOutputStream dout) {
        this.dos = dout;
    }

    public void setTaskListener(TaskListener listener) {
        this.taskAction = listener;
    }

    public void execute() throws IOException {
        int taskType = dis.readInt();
        String msg = "";

        switch(taskType) {
            case Task.TASK_LOGIN:
                OnLogin();

                break;

            case Task.TASK_QUERY:
                OnQuery();

                break;

            case Task.TASK_LOSS:
                OnLoss();

                break;

            case Task.TASK_HISTORY:
                OnHistory();

                break;

            case Task.TASK_EXCHANGE:
                OnExchange();

                break;

            case Task.TASK_NEW_PWD:
                OnNewpwd();

                break;

            case Task.TASK_LOGOFF:
                OnLogoff();

                break;

            default:
                System.out.println("recetive error.");
                throw (new IOException("recetive error."));
        }
    }

    private void OnLogin() throws IOException {
        LoginTask t = new LoginTask();
        t.deserialize(dis);

        boolean result = taskAction.OnLogin(t);

        t.setResult(result);
        dos.writeInt(Task.TASK_LOGIN);
        t.serialize(dos);

        if(dis != null) {
            dis.close();
        }

        if(dos != null) {
            dos.close();
        }
    }

    private void OnQuery() throws IOException {
        QueryTask t = new QueryTask();
        t.deserialize(dis);

        boolean result = taskAction.OnQuery(t);

        t.setResult(result);
        dos.writeInt(Task.TASK_QUERY);
        t.serialize(dos);

        if(dis != null) {
            dis.close();
        }

        if(dos != null) {
            dos.close();
        }
    }

    private void OnExchange() throws IOException {
        ExchangeTask t = new ExchangeTask();
        t.deserialize(dis);

        boolean result = taskAction.OnExchange(t);

        t.setResult(result);
        dos.writeInt(Task.TASK_EXCHANGE);
        t.serialize(dos);

        if(dis != null) {
            dis.close();
        }

        if(dos != null) {
            dos.close();
        }
    }

    private void OnHistory() throws IOException {
        HistoryTask t = new HistoryTask();
        t.deserialize(dis);

        boolean result = taskAction.OnHistory(t);

        t.setResult(result);
        dos.writeInt(Task.TASK_HISTORY);
        t.serialize(dos);

        if(dis != null) {
            dis.close();
        }

        if(dos != null) {
            dos.close();
        }
    }

    private void OnLoss() throws IOException {
        LossTask t = new LossTask();
        t.deserialize(dis);

        boolean result = taskAction.OnLoss(t);

        t.setResult(result);
        dos.writeInt(Task.TASK_LOSS);
        t.serialize(dos);

        if(dis != null) {
            dis.close();
        }

        if(dos != null) {
            dos.close();
        }
    }

    private void OnNewpwd() throws IOException {
        NewpwdTask t = new NewpwdTask();
        t.deserialize(dis);

        boolean result = taskAction.OnNewpwd(t);

        t.setResult(result);
        dos.writeInt(Task.TASK_NEW_PWD);
        t.serialize(dos);

        if(dis != null) {
            dis.close();
        }

        if(dos != null) {
            dos.close();
        }
    }

    private void OnLogoff() throws IOException {
        LogoffTask t = new LogoffTask();
        t.deserialize(dis);

        boolean result = taskAction.OnLogoff(t);

        t.setResult(result);
        dos.writeInt(Task.TASK_LOGOFF);
        t.serialize(dos);

        if(dis != null) {
            dis.close();
        }

        if(dos != null) {
            dos.close();
        }
    }
}

⌨️ 快捷键说明

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