📄 productejb.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 + -