001    package org.omg.CosTransactions;
002    
003    
004    /**
005    * org/omg/CosTransactions/_TerminatorImplBase.java .
006    * Generated by the IDL-to-Java compiler (portable), version "3.2"
007    * from /builddir/build/BUILD/geronimo-specs-1.6/geronimo-spec-corba/src/main/idl/CosTransactions.idl
008    * Monday, June 18, 2012 10:36:15 AM CEST
009    */
010    
011    public abstract class _TerminatorImplBase extends org.omg.CORBA.portable.ObjectImpl
012                    implements org.omg.CosTransactions.Terminator, org.omg.CORBA.portable.InvokeHandler
013    {
014    
015      // Constructors
016      public _TerminatorImplBase ()
017      {
018      }
019    
020      private static java.util.Hashtable _methods = new java.util.Hashtable ();
021      static
022      {
023        _methods.put ("commit", new java.lang.Integer (0));
024        _methods.put ("rollback", new java.lang.Integer (1));
025      }
026    
027      public org.omg.CORBA.portable.OutputStream _invoke (String $method,
028                                    org.omg.CORBA.portable.InputStream in,
029                                    org.omg.CORBA.portable.ResponseHandler $rh)
030      {
031        org.omg.CORBA.portable.OutputStream out = null;
032        java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
033        if (__method == null)
034          throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
035    
036        switch (__method.intValue ())
037        {
038           case 0:  // CosTransactions/Terminator/commit
039           {
040             try {
041               boolean report_heuristics = in.read_boolean ();
042               this.commit (report_heuristics);
043               out = $rh.createReply();
044             } catch (org.omg.CosTransactions.HeuristicMixed $ex) {
045               out = $rh.createExceptionReply ();
046               org.omg.CosTransactions.HeuristicMixedHelper.write (out, $ex);
047             } catch (org.omg.CosTransactions.HeuristicHazard $ex) {
048               out = $rh.createExceptionReply ();
049               org.omg.CosTransactions.HeuristicHazardHelper.write (out, $ex);
050             }
051             break;
052           }
053    
054           case 1:  // CosTransactions/Terminator/rollback
055           {
056             this.rollback ();
057             out = $rh.createReply();
058             break;
059           }
060    
061           default:
062             throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
063        }
064    
065        return out;
066      } // _invoke
067    
068      // Type-specific CORBA::Object operations
069      private static String[] __ids = {
070        "IDL:CosTransactions/Terminator:1.0"};
071    
072      public String[] _ids ()
073      {
074        return (String[])__ids.clone ();
075      }
076    
077    
078    } // class _TerminatorImplBase