FileDocCategorySizeDatePackage
ShipBean.javaAPI DocExample7638Fri Oct 29 14:25:34 BST 1999com.titan.ship

ShipBean

public class ShipBean extends Object implements javax.ejb.EntityBean

Fields Summary
public int
id
public String
name
public int
capacity
public double
tonnage
public javax.ejb.EntityContext
context
Constructors Summary
Methods Summary
public voidejbActivate()

 
public ShipPKejbCreate(int id, java.lang.String name, int capacity, double tonnage)

        this.id = id;
        this.name = name;
        this.capacity = capacity;
        this.tonnage = tonnage;
        
        Connection con = null;
        PreparedStatement ps = null;
        try {
          con = getConnection();
          ps = con.prepareStatement(
           "insert into Ship (id, name, capacity, tonnage) " +
           "values (?,?,?,?)");
          ps.setInt(1, id);
          ps.setString(2, name);
          ps.setInt(3,capacity);
          ps.setDouble(4,tonnage);
          if (ps.executeUpdate() != 1) {
            throw new CreateException ("Failed to add Ship to database");
          }
          ShipPK primaryKey = new ShipPK();
          primaryKey.id = id;
          return primaryKey;
        }
        catch (SQLException se) {
          throw new CreateException (se.getMessage());
        }
        finally {
          try {         
            if (ps != null) ps.close(); 
            if (con!= null) con.close(); 
         }catch(SQLException se){
            se.printStackTrace();
          }
        }
    
public ShipPKejbCreate(int id, java.lang.String name)

        return ejbCreate(id,name,0,0);
    
public java.util.EnumerationejbFindByCapacity(int capacity)

        Connection con = null;
        PreparedStatement ps = null;
        ResultSet result = null;        
        try {
          con = getConnection();
          ps = con.prepareStatement(
              "select id from Ship where capacity = ?");
          ps.setInt(1,capacity);
          result = ps.executeQuery();
          Vector keys = new Vector();
          while(result.next()){
            ShipPK shipPk = new ShipPK();
            shipPk.id = result.getInt("id");
            keys.addElement(shipPk);
          }
          if(keys.size() > 0 )
            return keys.elements();
          else 
		 return null;
        }
        catch (SQLException se) {
          throw new FinderException (se.getMessage());
        }
        finally {
          try {
            if (result != null) result.close();
            if (ps != null) ps.close(); 
            if (con!= null) con.close(); 
          }catch(SQLException se){
            se.printStackTrace();
          }
        }      
    
public ShipPKejbFindByPrimaryKey(ShipPK primaryKey)

        loadUsingId(primaryKey.id);
        return primaryKey;
    
public voidejbLoad()

        try{
            ShipPK pk = (ShipPK) context.getPrimaryKey();
            loadUsingId(pk.id);
        }catch(FinderException fe)
            {
                throw new RemoteException("Cannot load Ship (id = "+
                                           id+") state from database");
            }
    
public voidejbPassivate()

 
public voidejbPostCreate(int id, java.lang.String name, int capacity, double tonnage)

        // do something useful with the primary key
    
public voidejbPostCreate(int id, java.lang.String name)

        // do something useful with the EJBObject reference
    
public voidejbRemove()


        Connection con = null;
        PreparedStatement ps = null;
        try {
          con = getConnection();
          ps = con.prepareStatement("delete from Ship where id = ?");
          ps.setInt(1, id);
          if (ps.executeUpdate() != 1) {
            throw new RemoteException (
                "Failed to remove Ship from database");
          }
        }
        catch (SQLException se) {
          throw new RemoteException (se.getMessage());
        }
        finally {
          try {
            if (ps != null) ps.close(); 
            if (con!= null) con.close(); 
          }catch(SQLException se){
            se.printStackTrace();
          }
        }
    
public voidejbStore()

 
        Connection con = null;
        PreparedStatement ps = null;
        try {
          con = getConnection();
          ps = con.prepareStatement(
              "update Ship set name = ?, capacity = ?, " +
              "tonnage = ? where id = ?");
          ps.setString(1,name);
          ps.setInt(2,capacity);
          ps.setDouble(3,tonnage);
          ps.setInt(4,id);
          if (ps.executeUpdate() != 1) {
            throw new RemoteException ("Failure occurred saving the Ship");
          }
        }
        catch (SQLException se) {
          throw new RemoteException (se.getMessage());
        }
        finally {
          try {
            if (ps != null) ps.close(); 
            if (con!= null) con.close(); 
          }catch(SQLException se){
            se.printStackTrace();
          }
        }
    
public intgetCapacity()

        return capacity;
    
private java.sql.ConnectiongetConnection()

        Properties environmentProps = context.getEnvironment();
        String url = environmentProps.getProperty("jdbcURL");
        return DriverManager.getConnection(url);
   
public java.lang.StringgetName()

        return name;
    
public doublegetTonnage()

        return tonnage;
    
private voidloadUsingId(int id)

        Connection con = null;
        PreparedStatement ps = null;
        ResultSet result = null;
        try {
          con = getConnection();
          ps = con.prepareStatement(
              "select name, capacity, tonnage from Ship where id = ?");
          ps.setInt(1,id);
          result = ps.executeQuery();
          if(result.next()){
            this.id = id;
            name = result.getString("name");
            capacity = result.getInt("capacity");
            tonnage = result.getDouble("tonnage");
          }else{
            throw new ObjectNotFoundException(
                "Cannot find Ship with id = "+id);
          }
        }
        catch (SQLException se) {
          throw new FinderException (se.getMessage());
        }
        finally {
          try {
            if (result != null) result.close();
            if (ps != null) ps.close(); 
            if (con!= null) con.close(); 
          }catch(SQLException se){
            se.printStackTrace();
          }
        }      
    
public voidsetCapacity(int cap)

        capacity = cap;
    
public voidsetEntityContext(javax.ejb.EntityContext ctx)

        context = ctx;
    
public voidsetName(java.lang.String n)

        name = n;
    
public voidsetTonnage(double tons)

        tonnage = tons;
    
public voidunsetEntityContext()

        context = null;