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

📄 creditcardmanagerpoa.java

📁 利用CORBA的值类型实现的一个分布式程序
💻 JAVA
字号:
package Bank;

/**
 * <ul>
 * <li> <b>IDL Source</b>    "Bank.idl"
 * <li> <b>IDL Name</b>      ::Bank::CreditCardManager
 * <li> <b>Repository Id</b> IDL:Bank/CreditCardManager:1.0
 * </ul>
 * <b>IDL definition:</b>
 * <pre>
 * interface CreditCardManager {
  ...
};
 * </pre>
 */
public abstract class CreditCardManagerPOA extends org.omg.PortableServer.Servant implements 
  org.omg.CORBA.portable.InvokeHandler, Bank.CreditCardManagerOperations {

  public Bank.CreditCardManager _this () {
   return Bank.CreditCardManagerHelper.narrow(super._this_object());
  }

  public Bank.CreditCardManager _this (org.omg.CORBA.ORB orb) {
    return Bank.CreditCardManagerHelper.narrow(super._this_object(orb));
  }

  public java.lang.String[] _all_interfaces (final org.omg.PortableServer.POA poa, final byte[] objectId) {
    return __ids;
  }

  private static java.lang.String[] __ids = {
    "IDL:Bank/CreditCardManager:1.0"
  };

  private static java.util.Dictionary _methods = new java.util.Hashtable();

  static {
    _methods.put("open", new int[] { 0, 0 });
    _methods.put("close", new int[] { 0, 1 });
    _methods.put("find", new int[] { 0, 2 });
    _methods.put("transfer", new int[] { 0, 3 });
  }

  public org.omg.CORBA.portable.OutputStream _invoke (java.lang.String opName,
                                                      org.omg.CORBA.portable.InputStream _input,
                                                      org.omg.CORBA.portable.ResponseHandler handler) {
    int[] method = (int[]) _methods.get(opName);
    if (method == null) {
      throw new org.omg.CORBA.BAD_OPERATION();
    }
    switch (method[0]) {
      case 0: {
        return Bank.CreditCardManagerPOA._invoke(this, method[1], _input, handler);
      }
    }
    throw new org.omg.CORBA.BAD_OPERATION();
  }

  public static org.omg.CORBA.portable.OutputStream _invoke (Bank.CreditCardManagerOperations _self,
                                                             int _method_id,
                                                             org.omg.CORBA.portable.InputStream _input,
                                                             org.omg.CORBA.portable.ResponseHandler _handler) {
    org.omg.CORBA.portable.OutputStream _output = null;
    {
      switch (_method_id) {
      case 0: {
      try {
        java.lang.String num;
        num = Bank.LabelHelper.read(_input);

        float init;
        init = _input.read_float();
        Bank.CreditCard _result = _self.open(num, init);
        _output = _handler.createReply();
        Bank.CreditCardHelper.write(_output, _result);
      }
      catch (Bank.CardNumberDuplicated _exception) {
        _output = _handler.createExceptionReply();
        Bank.CardNumberDuplicatedHelper.write(_output, _exception);
      }
        return _output;
      }
      case 1: {
      try {
        java.lang.String num;
        num = Bank.LabelHelper.read(_input);

        _self.close(num);
        _output = _handler.createReply();
      }
      catch (Bank.CardNumberNotFound _exception) {
        _output = _handler.createExceptionReply();
        Bank.CardNumberNotFoundHelper.write(_output, _exception);
      }
      catch (Bank.AccountNotBalanced _exception) {
        _output = _handler.createExceptionReply();
        Bank.AccountNotBalancedHelper.write(_output, _exception);
      }
        return _output;
      }
      case 2: {
      try {
        java.lang.String num;
        num = Bank.LabelHelper.read(_input);

        Bank.CreditCard _result = _self.find(num);
        _output = _handler.createReply();
        Bank.CreditCardHelper.write(_output, _result);
      }
      catch (Bank.CardNumberNotFound _exception) {
        _output = _handler.createExceptionReply();
        Bank.CardNumberNotFoundHelper.write(_output, _exception);
      }
        return _output;
      }
      case 3: {
      try {
        Bank.CreditCard src;
        src = Bank.CreditCardHelper.read(_input);
        Bank.CreditCard des;
        des = Bank.CreditCardHelper.read(_input);
        float amount;
        amount = _input.read_float();
        _self.transfer(src, des, amount);
        _output = _handler.createReply();
      }
      catch (Bank.AccountOverdraft _exception) {
        _output = _handler.createExceptionReply();
        Bank.AccountOverdraftHelper.write(_output, _exception);
      }
        return _output;
      }
      }
      throw new org.omg.CORBA.BAD_OPERATION();
    }
  }
}

⌨️ 快捷键说明

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