HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML
 

"Associations for EJBs"
Volume: 4 Issue: 12, p.42

	

Listing 1: 

public interface AssociationSupport extends 
     javax.ejb.EntityContext 
     { 
       public void registerRoleExtent(Object target, 
                         String roleName, 
                         Vector roleExtent); 
       public void addAssociation(Object target, 
                         String roleName, 
                         Object rolePlayer); 
       public void removeAssociation(Object target, 
                        String roleName, 
                        Object rolePlayer); 
     } 
  
  

Listing 2: 

     public class Person { 
        AssociationSupport ctx; 
  

         public void setEntityContext(EntityContext _ctx) { 
               ctx = (AssociationSupport) _ctx; 
         } 
  

        public Male father() { 
               if (fatherExtent == null) { 
              fatherExtent = new Vector(); 
               ctx.registerRoleExtent(this, "father", 
fatherExtent); 
               } 
               return (Male) fatherExtent.elementAt(0); 
        } 
        Vector fatherExtent = null; 
  

        public void addFather(Male f) { 
               ctx.addAssociation(   this, "father", f); 
        } 
        public void removeFather(Male f) { 
               ctx.removeAssociation(this, "father", f); 
        } 
  

        public Female mother() { 
               if (motherExtent == null) { 
              motherExtent = new Vector(); 
               ctx.registerMotherExtent(this, "mother", 
motherExtent); 
               } 
               return (Female) tmp.elementAt(0); 
      }; 
      Vector motherExtent = null; 
  

      public void addMother(Female m) { 
               ctx.addAssociation(this, "mother", m); 
      }; 
      public void removeMother(Female m) { 
               ctx.removeAssociation(this, "mother", m); 
      } 
   } 
  

   ... similarly for Male and Female 


  
  
      
 

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.