FileDocCategorySizeDatePackage
CustomerBean.javaAPI DocExample3768Wed May 29 16:38:12 BST 2002com.titan.customer

CustomerBean.java

package com.titan.customer;

import com.titan.address.*;
import com.titan.phone.*;

import javax.naming.InitialContext;
import javax.ejb.EntityContext;
import javax.ejb.CreateException;
import javax.naming.NamingException;
import java.util.Date;
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;

public abstract class CustomerBean implements javax.ejb.EntityBean 
{

   public Integer ejbCreate(Integer id)
      throws CreateException
   {
      this.setId(id);
      return null;
   }

   public void ejbPostCreate(Integer id)
   {
   }

   // business methods

   public Name getName() 
   {
      Name name = new Name(getLastName(),getFirstName());
      return name;
   }
   public void setName(Name name) 
   {
      setLastName(name.getLastName());
      setFirstName(name.getFirstName());
   }


   public void addPhoneNumber(String number, byte type)
      throws NamingException, CreateException 
   {
      InitialContext jndiEnc = new InitialContext();
      PhoneHomeLocal phoneHome = (PhoneHomeLocal)(jndiEnc.lookup("PhoneHomeLocal")); 

      PhoneLocal phone = phoneHome.create(number,type);
        
      Collection phoneNumbers = this.getPhoneNumbers( );
      phoneNumbers.add(phone);

   }

   public void removePhoneNumber(byte typeToRemove) 
   {
      Collection phoneNumbers = this.getPhoneNumbers();
      Iterator iterator = phoneNumbers.iterator();

      while(iterator.hasNext())
      {
         PhoneLocal phone = (PhoneLocal)iterator.next();
         if (phone.getType() == typeToRemove) 
         {
            phoneNumbers.remove(phone);
            break;
         }

      }
   }

   public void updatePhoneNumber(String number, byte typeToUpdate) 
   { 
      Collection phoneNumbers = this.getPhoneNumbers();
      Iterator iterator = phoneNumbers.iterator();
      while(iterator.hasNext())
      {
         PhoneLocal phone = (PhoneLocal)iterator.next();
         if (phone.getType() == typeToUpdate) 
         {
            phone.setNumber(number);
            break;
         }
      }
   }

   public Vector getPhoneList() 
   {
      Vector vv = new Vector();
      Collection phoneNumbers = this.getPhoneNumbers();
      Iterator iterator = phoneNumbers.iterator();
      while(iterator.hasNext()) {
         PhoneLocal phone = (PhoneLocal)iterator.next();
         String ss = "Type="+phone.getType()+"  Number="+phone.getNumber();
         vv.add(ss);
      }
      return vv;
   }

   // persistent relationships

   public abstract AddressLocal getHomeAddress();
   public abstract void setHomeAddress(AddressLocal address);

   public abstract CreditCardLocal getCreditCard();
   public abstract void setCreditCard(CreditCardLocal card);

   public abstract Collection getPhoneNumbers( );
   public abstract void setPhoneNumbers(Collection phones);

   public abstract Collection getReservations();
   public abstract void setReservations(Collection reservations);

   // abstract accessor methods

   public abstract Integer getId();
   public abstract void setId(Integer id);
 
   public abstract String getLastName();
   public abstract void setLastName(String lname);

   public abstract String getFirstName();
   public abstract void setFirstName(String fname);

   public abstract boolean getHasGoodCredit();
   public abstract void setHasGoodCredit(boolean flag);

   // standard call back methods

   public void setEntityContext(EntityContext ec){}
   public void unsetEntityContext(){}
   public void ejbLoad(){}
   public void ejbStore(){}
   public void ejbActivate(){}
   public void ejbPassivate(){}
   public void ejbRemove(){}

}