package com.vivi3d.nsi.ejb.entity.beans;

import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.CreateException;

/**
 * @ejb.bean
 *      description="Describe the Role"
 *      display-name="Role EJB"
 *      name="Role"
 *      view-type="local"
 *      type="CMP"
 *      cmp-version="2.x"
 *      schema="role"
 *      local-jndi-name="ejb/RoleLocal"
 * @ejb.pk
 *      class="com.vivi3d.nsi.ejb.entity.intf.RolePK"
 * @ejb.util
 *      generate="physical"
 * @ejb.value-object
 *      name="RoleLight"
 *      match="light"
 * @ejb.value-object
 *      name="RoleFull"
 *      match="*"
 * @ejb.finder
 *      signature="java.util.Collection findAll()"
 *      query="select object(o) 
 *             from role as o"
 */

public abstract class RoleBean implements EntityBean{
  private EntityContext ctx;

  public void setEntityContext(EntityContext ctx){
    this.ctx = ctx;
  }

  public void unsetEntityContext(){
    ctx = null;
  }

  /**
   * @ejb.create-method
   */
  public Object ejbCreate(com.vivi3d.nsi.ejb.entity.helper.RoleLightValue v) throws CreateException{
    setName(v.getName());
    return null;
  }
 
  /**
   * @ejb.persistence
   * @ejb.pk-field
   * @ejb.interface-method
   * @ejb.value-object
   *      match="light"
   */
  public abstract String getName();

  public abstract void setName(String name);

  /**
   * @ejb.persistence
   * @ejb.interface-method
   */
  public abstract String getDescs();

  /**
   * @ejb.interface-method
   */
  public abstract void setDescs(String descs);

  /**
   * Get value object specified in DTO design pattern.
   *
   * @ejb.interface-method
   */
  public abstract com.vivi3d.nsi.ejb.entity.helper.RoleLightValue getRoleLightValue();

  /**
   * @ejb.interface-method
   */
  public abstract void setRoleLightValue(com.vivi3d.nsi.ejb.entity.helper.RoleLightValue v);

  /**
   * @ejb.interface-method
   */
  public abstract com.vivi3d.nsi.ejb.entity.helper.RoleFullValue getRoleFullValue();


}
