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

📄 productejb.java

📁 《J2EE企业级应用开发》一书的配套源代码
💻 JAVA
字号:
package com.j2eeapp.cdstore.storage;

import java.rmi.RemoteException;
import javax.ejb.*;
import java.util.*;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.j2eeapp.cdstore.vo.Product;
import com.j2eeapp.cdstore.vo.Media;
import com.j2eeapp.cdstore.servicelovator.*;
import com.j2eeapp.cdstore.util.JNDINames;

public abstract class ProductEJB implements EntityBean
{
    /**
     * Attributes declaration
    */
    public EntityContext EJB_Context;
    EJBServiceLocator sl;
    
    /**
     * @J2EE_METHOD  --  ProductEJB
     */
    public ProductEJB    ()  throws ServiceLocatorException
    { 
		sl=new EJBServiceLocator();
    }
    
    /**
     * @J2EE_METHOD  --  ejbCreate
     * Matching method of the create() method of the bean's home interface. The container
     * invokes an ejbCreate method to create an entity object. It executes in the transaction
     * context determined by the transaction attribute of the matching create() method.
     * @throws javax.ejb.CreateException
     */
    public String ejbCreate    (Product product) throws CreateException 
    { 
		setProductId(product.getProductId());
		setDescription(product.getDescription());
		setName(product.getName());
		return null;
    }
    
    /**
     * @J2EE_METHOD  --  ejbPostCreate
     * Matching method of ejbCreate. The container invokes the matching ejbPostCreate method
     * on an instance after it invokes the ejbCreate method with the same arguments. It
     * executes in the same transaction context as that of the matching ejbCreate method.
     * @throws javax.ejb.CreateException
     */
    public void ejbPostCreate    (Product product) throws CreateException 
    { 
		
    }
    
    public String ejbCreate    (String productId) throws CreateException 
    { 
		setProductId(productId);
		return null;
    }
    public void ejbPostCreate    (String productId) throws CreateException 
    { 
    }
    
    /**
     * @J2EE_METHOD  --  ejbActivate
     * A container invokes this method when the instance is taken out of the pool of available
     * instances to become associated with a specific EJB object. This method transitions
     * the instance to the ready state. This method executes in an unspecified transaction
     * context.
     */
    public void ejbActivate    ()  
    { 

    }
    
    /**
     * @J2EE_METHOD  --  ejbPassivate
     * A container invokes this method on an instance before the instance becomes disassociated
     * with a specific EJB object. After this method completes, the container will place
     * the instance into the pool of available instances. This method executes in an unspecified
     * transaction context.
     */
    public void ejbPassivate    ()  
    { 

    }
    
    /**
     * @J2EE_METHOD  --  ejbLoad
     * A container invokes this method to instruct the instance to synchronize its state
     * by loading it from the underlying database. This method always executes in the transaction
     * context determined by the value of the transaction attribute in the deployment descriptor.
     */
    public void ejbLoad    ()  
    { 

    }
    
    /**
     * @J2EE_METHOD  --  ejbStore
     * A container invokes this method to instruct the instance to synchronize its state
     * by storing it to the underlying database. This method always executes in the transaction
     * context determined by the value of the transaction attribute in the deployment descriptor.
     */
    public void ejbStore    ()  
    { 

    }
    
    /**
     * @J2EE_METHOD  --  ejbRemove
     * A container invokes this method before it removes the EJB object that is currently
     * associated with the instance. It is invoked when a client invokes a remove operation
     * on the enterprise Bean's home or remote interface. It transitions the instance from
     * the ready state to the pool of available instances. It is called in the transaction
     * context of the remove operation.
     * @throws javax.ejb.RemoveException
     */
    public void ejbRemove    () throws RemoveException 
    { 

    }
    
    /**
     * @J2EE_METHOD  --  setEntityContext
     * Set the associated entity context. The container invokes this method on an instance
     * after the instance has been created. This method is called in an unspecified transaction
     * context. 
     */
    public void setEntityContext    (EntityContext ctx)  
    { 
		EJB_Context=ctx;
    }
    
    /**
     * @J2EE_METHOD  --  unsetEntityContext
     * Unset the associated entity context. The container calls this method before removing
     * the instance. This is the last method that the container invokes on the instance.
     * The Java garbage collector will  invoke the finalize() method on the instance. It
     * is called in an unspecified transaction context.
     */
    public void unsetEntityContext    ()  
    { 
		EJB_Context=null;
    }
    
    /**
     * @J2EE_METHOD  --  getProduct
     */
    public abstract String getProductId    (); 
    
    /**
     * @J2EE_METHOD  --  setProductId
     */
    public abstract void setProductId    (String newProductId); 
    
    /**
     * @J2EE_METHOD  --  getCategory
     */
    public abstract CategoryLocal getCategory    (); 
    
    /**
     * @J2EE_METHOD  --  setCategory
     */
    public abstract void setCategory    (CategoryLocal newCategory); 
    
    /**
     * @J2EE_METHOD  --  getName
     */
    public abstract String getName    (); 
    
    /**
     * @J2EE_METHOD  --  setName
     */
    public abstract void setName    (String newName); 
    
    /**
     * @J2EE_METHOD  --  getDescription
     */
    public abstract String getDescription    (); 
    
    /**
     * @J2EE_METHOD  --  setDescription
     */
    public abstract void setDescription    (String newDescription); 
    
    /**
     * @J2EE_METHOD  --  getMedia
     */
    public abstract Collection getMedias    (); 
    
    /**
     * @J2EE_METHOD  --  setMedia
     */
    public abstract void setMedias    (Collection newMedia); 
    
     //manage Media
    
    public void removeMedia(String mediaId)
    {
    	Collection medias=this.getMedias();
    	Iterator it=medias.iterator();
    	while(it.hasNext())
    	{
    		MediaLocal media=(MediaLocal)it.next();
    		if(media.getId()==mediaId)
    		{
    			medias.remove(media);
    			break;
    		}
    	}    	
    }
    
    public void addMedia(Media media)throws javax.ejb.CreateException,NamingException
    {
    	InitialContext ctx=new InitialContext();
   		MediaLocalHome mlh=(MediaLocalHome)ctx.lookup(JNDINames.MEDIA);
   		MediaLocal ml=mlh.create(media);
   		Collection medias=this.getMedias();
   		medias.add(ml);
    }
    
    public void updateMedia(Media media)
    {
    	Collection medias=this.getMedias();
    	Iterator it=medias.iterator();
    	while(it.hasNext())
    	{
    		MediaLocal mediaToUpdate=(MediaLocal)it.next();
    		if(mediaToUpdate.getId()==media.getId())
    		{
    			mediaToUpdate.setDescription(media.getDescription());
    			mediaToUpdate.setPubTime(media.getTime());
    			mediaToUpdate.setFileName(media.getFileName());
    			mediaToUpdate.setProducer(media.getProducer());
    			break;
    		}
       }
    }
    
    public ArrayList getMediaList()
    {
    	ArrayList al=new ArrayList();
    	Collection medias=this.getMedias();
    	Iterator it=medias.iterator();
    	while(it.hasNext())
    	{
    		MediaLocal media=(MediaLocal)it.next();
    		al.add(media);
    	}
    	return al;
    }
    
    
    
}

⌨️ 快捷键说明

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