Student_z53p80__WebLogic_CMP_RDBMS_roster_Set.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:19k
源码类别:

Java编程

开发平台:

Java

  1. /**
  2.  * This code was automatically generated at 16:30:06 on 2003-8-29
  3.  * by weblogic.ejb20.cmp.rdbms.codegen.OneToManyGenerator -- do not edit.
  4.  *
  5.  * @version WebLogic Server 8.1  Fri Jun 20 23:06:40 PDT 2003 271009 
  6.  * @author Copyright (c) 2003 by BEA Systems, Inc. All Rights Reserved.
  7.  */
  8. package cmpsample;
  9. import java.lang.reflect.Method;
  10. import java.util.Iterator;
  11. import java.util.Collection;
  12. import java.util.List;
  13. import java.util.ArrayList;
  14. import java.util.Set;
  15. import java.util.HashSet;
  16. import java.lang.reflect.Array;
  17. import java.io.Serializable;
  18. import java.io.IOException;
  19. import javax.ejb.EJBObject;
  20. import javax.ejb.EJBLocalObject;
  21. import javax.ejb.EntityContext;
  22. import javax.ejb.EJBException;
  23. import javax.ejb.NoSuchEntityException;
  24. import javax.transaction.Transaction;
  25. import weblogic.ejb20.internal.EntityEJBContextImpl;
  26. import weblogic.ejb20.interfaces.WLEnterpriseBean;
  27. import weblogic.ejb20.persistence.spi.CMPBeanManager;
  28. import weblogic.ejb20.persistence.spi.EoWrapper;
  29. import weblogic.ejb20.persistence.spi.EloWrapper;
  30. import weblogic.ejb20.persistence.spi.PersistenceRuntimeException;
  31.   
  32. import weblogic.ejb20.cmp.rdbms.RDBMSException;
  33. import weblogic.ejb20.cmp.rdbms.RDBMSSet;
  34. import weblogic.ejb20.cmp.rdbms.RDBMSUtils;
  35. import weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager;
  36. import javax.transaction.TransactionManager;
  37. import weblogic.transaction.TransactionHelper;
  38. import weblogic.ejb20.EJBLogger;
  39. import weblogic.logging.Loggable;
  40. import weblogic.utils.Debug;
  41. public final class Student_z53p80__WebLogic_CMP_RDBMS_roster_Set implements RDBMSSet, Set, Serializable,Cloneable
  42. {
  43.   // =================================================================
  44.   // Class  variable(s)
  45.   private static final boolean __WL_debug =
  46.     (System.getProperty(RDBMSUtils.RDBMS_CODEGEN_DEBUG_PROP) != null);
  47.   private static final boolean __WL_verbose =
  48.     (System.getProperty(RDBMSUtils.RDBMS_CODEGEN_VERBOSE_PROP) != null);
  49.   private CMPBeanManager __WL_bm;
  50.   private Method __WL_finder;
  51.   private Object __WL_createPk;
  52.   private EJBLocalObject __WL_createEo;
  53.   private Set __WL_cache;
  54.   private Set __WL_add;
  55.   private Set __WL_rem;
  56.   private RDBMSPersistenceManager __WL_pm;
  57.   private boolean isCreatorBeanInvalidated = false;
  58.   private Transaction __WL_createTx;
  59.   public Student_z53p80__WebLogic_CMP_RDBMS_roster_Set(cmpsample.Student_z53p80_Intf __WL_creator,
  60.                               CMPBeanManager __WL_bm,
  61.                               Method __WL_finder
  62.                              ) {
  63.     try {
  64.       this.__WL_bm = __WL_bm;
  65.       this.__WL_finder = __WL_finder;
  66.       EntityEJBContextImpl __WL_ctx = (EntityEJBContextImpl) __WL_creator.__WL_getEntityContext();
  67.       __WL_createPk = __WL_ctx.__WL_getPrimaryKey();
  68.       __WL_createEo = __WL_ctx.__WL_getEJBLocalObject();
  69.       __WL_add = new HashSet();
  70.       __WL_rem = new HashSet();
  71.       __WL_pm = (RDBMSPersistenceManager)__WL_creator.__WL_getPersistenceManager();
  72.       __WL_createTx = TransactionHelper.getTransactionHelper().getTransaction();
  73.     } catch (RuntimeException re) {
  74.       if (__WL_verbose) {
  75.         Debug.say("rethrowing RuntimeException.");
  76.         re.printStackTrace();
  77.       }
  78.       throw re;
  79.     } catch (Exception ex) {
  80.       if (__WL_verbose) {
  81.         Debug.say("wrapping Exception in PersistenceRuntimeException.");
  82.         ex.printStackTrace();
  83.       }
  84.       throw new PersistenceRuntimeException(ex);
  85.     }
  86.   }
  87.   private void populateCache() {
  88.     try {
  89.       if (__WL_debug) {
  90.         Debug.assertion(__WL_createPk !=null);
  91.       }
  92.     
  93.      __WL_cache = __WL_bm.localWrapperSetFinder(__WL_finder, new Object[] {__WL_createPk});
  94.       Iterator __WL_additer = __WL_add.iterator();
  95.       while (__WL_additer.hasNext()) {
  96.         EloWrapper __WL_wrapper = (EloWrapper)__WL_additer.next();
  97.         if (!__WL_cache.contains(__WL_wrapper)) {
  98.           __WL_cache.add(__WL_wrapper);
  99.         }
  100.       }
  101.       Iterator __WL_remiter = __WL_rem.iterator();
  102.       while (__WL_remiter.hasNext()) {
  103.         EloWrapper __WL_wrapper = (EloWrapper)__WL_remiter.next();
  104.         if (__WL_cache.contains(__WL_wrapper)) {
  105.           __WL_cache.remove(__WL_wrapper);
  106.         }
  107.       }
  108.       __WL_add = null;
  109.       __WL_rem = null;
  110.       isCreatorBeanInvalidated = false;
  111.     } catch (RuntimeException re) {
  112.       if (__WL_verbose) {
  113.         Debug.say("rethrowing RuntimeException.");
  114.         re.printStackTrace();
  115.       }
  116.       throw re;
  117.     } catch (Exception ex) {
  118.       if (__WL_verbose) {
  119.         Debug.say("wrapping Exception in PersistenceRuntimeException.");
  120.         ex.printStackTrace();
  121.       }
  122.       throw new PersistenceRuntimeException(ex);
  123.     }
  124.   }
  125.   //======================================================================
  126.   //implementation of RDBMSSet
  127.   public void doAdd(Object o)
  128.   {
  129.     if (__WL_verbose) Debug.say("doAdd() called.");
  130.     EJBLocalObject eo = (EJBLocalObject)o;
  131.     checkTransaction();
  132.     EloWrapper wrap = new EloWrapper(eo);
  133.     if (__WL_cache==null) {
  134.       if (__WL_rem.contains(wrap)) {
  135.         __WL_rem.remove(wrap);
  136.       }
  137.       if (__WL_debug) {
  138.         Debug.assertion(!__WL_add.contains(wrap));
  139.       }
  140.       __WL_add.add(wrap);
  141.     }
  142.     else {
  143.       if (__WL_debug) {
  144.         Debug.assertion(!__WL_cache.contains(wrap));
  145.       }
  146.       __WL_cache.add(wrap);
  147.     }
  148.     if(!isCreatorBeanInvalidated) {
  149.      __WL_pm.registerInvalidatedBean(__WL_createPk);
  150.      isCreatorBeanInvalidated = true;
  151.     }
  152.   }
  153.   public void doRemove(Object o) {
  154.     doRemove(o, true);
  155.   }
  156.   public void doRemove(Object o, boolean remove)
  157.   {
  158.     checkTransaction();
  159.     EJBLocalObject eo = (EJBLocalObject)o;
  160.     EloWrapper wrap = new EloWrapper(eo);
  161.     if (__WL_cache==null) {
  162.       if (__WL_add.contains(wrap)) {
  163.         __WL_add.remove(wrap);
  164.       }
  165.       if (__WL_debug) {
  166.         Debug.assertion(!__WL_rem.contains(wrap));
  167.       }
  168.       __WL_rem.add(wrap);
  169.     }
  170.     else {
  171.       if (remove) {
  172.         if (__WL_debug) {
  173.           Debug.assertion(__WL_cache.contains(wrap));
  174.         }
  175.         __WL_cache.remove(wrap);
  176.       }
  177.     }
  178.     if(!isCreatorBeanInvalidated) {
  179.       __WL_pm.registerInvalidatedBean(__WL_createPk);
  180.       isCreatorBeanInvalidated = true;
  181.     }
  182.   }
  183.   public void doAddToCache(Object o)
  184.   {
  185.     if (__WL_verbose) Debug.say("doAddToCache() called.");
  186.     if (__WL_cache==null) {
  187.       __WL_cache = new HashSet();
  188.     }
  189.     if (o == null) return;
  190.     EJBLocalObject eo = (EJBLocalObject)o;
  191.     EloWrapper wrap = new EloWrapper(eo);
  192.     if (__WL_debug) {
  193.       Debug.assertion(!__WL_cache.contains(wrap));
  194.     }
  195.     __WL_cache.add(wrap);
  196.   }
  197.   //======================================================================
  198.   //implementation of java.util.Collection
  199.   public Iterator iterator() {
  200.     checkTransaction();
  201.     if (__WL_cache==null) {
  202.       populateCache();
  203.     }
  204.     return new Student_z53p80__WebLogic_CMP_RDBMS_roster_Iterator(__WL_cache.iterator(), this);
  205.   }
  206.   public Transaction getTransaction() { return __WL_createTx; }
  207.   public void setTransaction(Transaction newCreateTx) {
  208.     __WL_createTx = newCreateTx; 
  209.    }
  210.   public boolean add(Object o) {
  211.     checkTransaction();
  212.     if (o==null)
  213.       throw new IllegalArgumentException();
  214.     if (!(o instanceof cmpsample.Roster))
  215.       throw new IllegalArgumentException(
  216.         "Attempted to add an object of type '" +
  217.         o.getClass().getName() +
  218.         "' to collection, but the type must be '" +
  219.         "cmpsample.Roster' instead.");
  220.     try {
  221.       EJBLocalObject eo = (EJBLocalObject)o;
  222.       cmpsample.Roster_2prm6y_Intf __WL_bean = (cmpsample.Roster_2prm6y_Intf)
  223.         __WL_bm.lookup(eo.getPrimaryKey());
  224.       int oldState = __WL_bean.__WL_getMethodState();
  225.       try {
  226.         __WL_bean.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
  227.         
  228.         
  229.         try {
  230.           __WL_bean.__WL_checkExistsOnMethod();
  231.         }
  232.         catch (NoSuchEntityException nsee) {
  233.           Loggable l = EJBLogger.logbeanDoesNotExistLoggable("Roster",eo.getPrimaryKey().toString());
  234.           throw new IllegalArgumentException(l.getMessage());  
  235.         }
  236.         if (__WL_createPk.equals(__WL_bean.getStudentID())) {
  237.           return false;
  238.         }
  239.         else {
  240.           __WL_bean.setStudentBean_roster(
  241.             (cmpsample.Student)__WL_createEo);
  242.           return true;
  243.         }
  244.       } finally {
  245.         __WL_bean.__WL_setMethodState(oldState);
  246.       }
  247.      } catch (RuntimeException re) {
  248.       if (__WL_verbose) {
  249.         Debug.say("rethrowing RuntimeException.");
  250.         re.printStackTrace();
  251.       }
  252.       throw re;
  253.     } catch (Exception ex) {
  254.       if (__WL_verbose) {
  255.         Debug.say("wrapping Exception in PersistenceRuntimeException.");
  256.         ex.printStackTrace();
  257.       }
  258.       throw new PersistenceRuntimeException(ex);
  259.     }
  260.   }
  261.   public boolean addAll(Collection __WL_collection) {
  262.     checkTransaction();
  263.     if (__WL_collection==null) return false;
  264.     Collection temp = new ArrayList();
  265.     temp.addAll(__WL_collection);
  266.     Iterator __WL_iter = temp.iterator();
  267.     boolean changed = false;
  268.     while (__WL_iter.hasNext()) {
  269.       changed |= add(__WL_iter.next());
  270.     }
  271.     return changed;
  272.   }
  273.   public void clear() {
  274.     clear(false);
  275.   }
  276.   public void clear(boolean ejbStore) {
  277.     checkTransaction();
  278.     if (__WL_cache==null) {
  279.       populateCache();
  280.     }
  281.     Collection cln = (Collection)((HashSet)__WL_cache).clone();
  282.     Iterator __WL_iter = cln.iterator();
  283.     while (__WL_iter.hasNext()) {
  284.       EloWrapper __WL_wrapper = (EloWrapper)__WL_iter.next();
  285.       remove(__WL_wrapper.getEJBLocalObject(), ejbStore);
  286.     }
  287.   }
  288.   public boolean contains(Object o) {
  289.     checkTransaction();
  290.     if (o==null)
  291.       return false;
  292.     if (!(o instanceof cmpsample.Roster))
  293.       return false;
  294.     try {
  295.       EJBLocalObject eo = (EJBLocalObject)o;
  296.       if (__WL_cache !=null) {
  297.         EloWrapper wrap = new EloWrapper(eo);
  298.         return __WL_cache.contains(wrap);
  299.       }
  300.       else {
  301.         cmpsample.Roster_2prm6y_Intf __WL_bean = (cmpsample.Roster_2prm6y_Intf)
  302.           __WL_bm.lookup(eo.getPrimaryKey());
  303.         try {
  304.           __WL_bean.__WL_checkExistsOnMethod();
  305.         }
  306.         catch (NoSuchEntityException nsee) {
  307.           Loggable l = EJBLogger.logbeanDoesNotExistLoggable("Roster",eo.getPrimaryKey().toString());
  308.           throw new IllegalArgumentException(l.getMessage());  
  309.         }
  310.         int oldState = __WL_bean.__WL_getMethodState();
  311.         try {
  312.           __WL_bean.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
  313.           
  314.           
  315.           if (__WL_createPk.equals(__WL_bean.getStudentID())) {
  316.             return true;
  317.           }
  318.           else {
  319.             return false;
  320.           }
  321.         } finally {
  322.           __WL_bean.__WL_setMethodState(oldState);
  323.         }
  324.       }
  325.     } catch (RuntimeException re) {
  326.       if (__WL_verbose) {
  327.         Debug.say("rethrowing RuntimeException.");
  328.         re.printStackTrace();
  329.       }
  330.       throw re;
  331.     } catch (Exception ex) {
  332.       if (__WL_verbose) {
  333.         Debug.say("wrapping Exception in PersistenceRuntimeException.");
  334.         ex.printStackTrace();
  335.       }
  336.       throw new PersistenceRuntimeException(ex);
  337.     }
  338.   }
  339.   public boolean containsAll(Collection eos) {
  340.     checkTransaction();
  341.     if (eos==null)
  342.       return true;
  343.     Iterator iter = eos.iterator();
  344.     while (iter.hasNext()) {
  345.       if (!contains(iter.next())) {
  346.         return false;
  347.       }
  348.     }
  349.     return true;
  350.   }
  351.   public boolean equals(Object o) {
  352.     checkTransaction();
  353.     if (!(o instanceof Student_z53p80__WebLogic_CMP_RDBMS_roster_Set))
  354.       return false;
  355.     Student_z53p80__WebLogic_CMP_RDBMS_roster_Set other = (Student_z53p80__WebLogic_CMP_RDBMS_roster_Set)o;
  356.     if (__WL_cache==null)
  357.       populateCache();
  358.     if (other.__WL_cache==null)
  359.       other.populateCache();
  360.     return __WL_cache.equals(other.__WL_cache);
  361.   }
  362.   public int hashCode() {
  363.     checkTransaction();
  364.     if (__WL_cache==null)
  365.       populateCache();
  366.     return __WL_cache.hashCode();
  367.   }
  368.   public boolean isEmpty() {
  369.     checkTransaction();
  370.     if (__WL_cache==null)
  371.       populateCache();
  372.     return __WL_cache.isEmpty();
  373.   }
  374.   public boolean remove(Object o)
  375.   {
  376.     return remove(o, false);
  377.   }
  378.   public boolean remove(Object o, boolean ejbStore)
  379.   {
  380.     return remove(o, ejbStore, true);
  381.   }
  382.   // The flag 'remove' controls whether the Relationship's
  383.   // underlying __WL_cache does a remove() operation.
  384.   // If an Iterator of the __WL_cache is used to effect a remove()
  385.   // then we must be sure to not do a __WL_cache.remove()
  386.   //   that is the intended use of the 'remove' flag.
  387.   public boolean remove(Object o, boolean ejbStore, boolean remove)
  388.   {
  389.     checkTransaction();
  390.     if (o==null)
  391.       throw new IllegalArgumentException();
  392.     if (!(o instanceof cmpsample.Roster))
  393.       throw new IllegalArgumentException(
  394.         "Attempted to add an object of type '" +
  395.         o.getClass().getName() +
  396.         "' to collection, but the type must be '" +
  397.         "cmpsample.Roster' instead.");
  398.     try {
  399.       EJBLocalObject eo = (EJBLocalObject)o;
  400.       cmpsample.Roster_2prm6y_Intf __WL_bean = (cmpsample.Roster_2prm6y_Intf)
  401.         __WL_bm.lookup(eo.getPrimaryKey());
  402.       try {
  403.         __WL_bean.__WL_checkExistsOnMethod();
  404.       }
  405.       catch (NoSuchEntityException nsee) {
  406.           Loggable l = EJBLogger.logbeanDoesNotExistLoggable("Roster",eo.getPrimaryKey().toString());
  407.           throw new IllegalArgumentException(l.getMessage());  
  408.       }
  409.       int oldState = __WL_bean.__WL_getMethodState();
  410.       try {
  411.         __WL_bean.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
  412.         
  413.         
  414.         if (!__WL_createPk.equals(__WL_bean.getStudentID())) {
  415.           return false;
  416.         }
  417.         else {
  418.           __WL_bean.__WL_setStudentBean_roster(null, ejbStore, remove);
  419.           return true;
  420.         }
  421.       } finally {
  422.         __WL_bean.__WL_setMethodState(oldState);
  423.       }
  424.     } catch (RuntimeException re) {
  425.       if (__WL_verbose) {
  426.         Debug.say("rethrowing RuntimeException.");
  427.         re.printStackTrace();
  428.       }
  429.       throw re;
  430.     } catch (Exception ex) {
  431.       if (__WL_verbose) {
  432.         Debug.say("wrapping Exception in PersistenceRuntimeException.");
  433.         ex.printStackTrace();
  434.       }
  435.       throw new PersistenceRuntimeException(ex);
  436.     }
  437.   }
  438.   public boolean removeAll(Collection col) {
  439.     checkTransaction();
  440.     if (col==null)
  441.       return false;
  442.     boolean changed = false;
  443.     Iterator iter = col.iterator();
  444.     while (iter.hasNext()) {
  445.       changed |= remove(iter.next(), false);
  446.     }
  447.     return changed;
  448.   }
  449.   public boolean retainAll(Collection c) {
  450.     checkTransaction();
  451.     Iterator iter = iterator();
  452.     List toRemove = new ArrayList();
  453.     while (iter.hasNext()) {
  454.       EJBLocalObject eo = (EJBLocalObject)iter.next();
  455.       if (c != null && !c.contains(eo)) {
  456.         toRemove.add(eo);
  457.       }
  458.     }
  459.     Iterator remIter = toRemove.iterator();
  460.     boolean changed = false;
  461.     while (remIter.hasNext()) {
  462.       EJBLocalObject eo = (EJBLocalObject)remIter.next();
  463.       changed |= this.remove(eo);
  464.     }
  465.     return changed;
  466.   }
  467.   public int size() {
  468.     checkTransaction();
  469.     if (__WL_cache==null)
  470.       populateCache();
  471.     return __WL_cache.size();
  472.   }
  473.   public Object[] toArray()
  474.   {
  475.     if (__WL_verbose) Debug.say("toArray() called.");
  476.     checkTransaction();
  477.     if (__WL_cache==null) populateCache();
  478.     int i = 0;
  479.     Object[] arry = new Object[__WL_cache.size()];
  480.     Iterator iter = __WL_cache.iterator();
  481.     while (iter.hasNext()) {
  482.       EloWrapper wrap = (EloWrapper)iter.next();
  483.       arry[i++] = wrap.getEJBLocalObject();
  484.     }
  485.     return arry;
  486.   }
  487.   public Object[] toArray(Object[] a)
  488.   {
  489.     if (__WL_verbose) Debug.say("toArray() called.");
  490.     checkTransaction();
  491.     if (a==null)
  492.       throw new ArrayStoreException(
  493.         "Null argument passed to Student_z53p80__WebLogic_CMP_RDBMS_roster_Set.toArray");
  494.     try {
  495.       Class toClass = a.getClass().getComponentType();
  496.       if (__WL_cache==null) populateCache();
  497.       if (a.length<__WL_cache.size())
  498.         a = (Object[])Array.newInstance(toClass, __WL_cache.size());
  499.       int i = 0;
  500.       Iterator iter = __WL_cache.iterator();
  501.       while (iter.hasNext()) {
  502.         EloWrapper wrap = (EloWrapper)iter.next();
  503.         cmpsample.Roster elem = 
  504.           (cmpsample.Roster)wrap.getEJBLocalObject();
  505.         if (i==0) {
  506.           Class colClass = elem.getClass();
  507.           if (!toClass.isAssignableFrom(colClass)) {
  508.             throw new ArrayStoreException(
  509.               "Argument type '" +
  510.               toClass.getName() +
  511.               "' passed to Student_z53p80__WebLogic_CMP_RDBMS_roster_Set.toArray " +
  512.               "is not a superclass of the element type of the collection '" +
  513.               colClass.getName() +
  514.               "'.");
  515.           }
  516.         }
  517.         a[i++] = elem;
  518.       }
  519.       while (i<a.length) {
  520.         a[i++] = null;
  521.       }
  522.       return a;
  523.     } catch (RuntimeException re) {
  524.       if (__WL_verbose) {
  525.         Debug.say("rethrowing RuntimeException.");
  526.         re.printStackTrace();
  527.       }
  528.       throw re;
  529.     } catch (Exception ex) {
  530.       if (__WL_verbose) {
  531.         Debug.say("wrapping Exception in PersistenceRuntimeException.");
  532.         ex.printStackTrace();
  533.       }
  534.       throw new PersistenceRuntimeException(ex);
  535.     }
  536.   }
  537.   private void checkTransaction()
  538.   {
  539.     Transaction tx = TransactionHelper.getTransactionHelper().getTransaction();
  540.     if (tx==null) {
  541.       Loggable l = EJBLogger.logaccessedCmrCollectionOutsideTransactionLoggable("Student", "roster");
  542.       throw new IllegalStateException(
  543.         l.getMessage());
  544.     }
  545.     if (!tx.equals(__WL_createTx) && ! false ) {
  546.       Loggable l1 = EJBLogger.logaccessedCmrCollectionInDifferentTransactionLoggable("Student", "roster");
  547.       throw new IllegalStateException(
  548.         l1.getMessage());
  549.     }
  550.   }
  551.   
  552.    public boolean checkIfCurrentTxEqualsCreateTx(javax.transaction.Transaction currentTx) {
  553.      if(currentTx != null && currentTx.equals(__WL_createTx))
  554.        return true;
  555.      else
  556.        return false;
  557.   }
  558.  
  559.   public Object clone()  throws CloneNotSupportedException {
  560.      return super.clone();
  561.   }
  562.  
  563.   private void writeObject(java.io.ObjectOutputStream out)
  564.     throws IOException
  565.   {
  566.     throw new EJBException(
  567.       "Attempt to serialize a collection that implements a cmr-field.  " +
  568.       "Collections managed by the CMP RDBMS persistence manager may not " +
  569.       "be passed directly to a remote client.");
  570.   }
  571.   private void readObject(java.io.ObjectInputStream in)
  572.     throws IOException, ClassNotFoundException
  573.   {
  574.     // this method is never called
  575.     throw new EJBException(
  576.       "Attempt to serialize a collection that implements a cmr-field.  " +
  577.       "Collections managed by the CMP RDBMS persistence manager may not " +
  578.       "be passed directly to a remote client.");
  579.   }
  580. }