/** Build a Criteria object from the data object for this peer */
 public static Criteria buildCriteria(AttendenceSeet obj) {
   Criteria criteria = new Criteria(DATABASE_NAME);
   if (!obj.isNew()) criteria.add(ID, obj.getId());
   criteria.add(USER_ID, obj.getUserId());
   criteria.add(LOGIN_DATE, obj.getLoginDate());
   criteria.add(IPADDRESS, obj.getIpaddress());
   return criteria;
 }
 /**
  * Populates an object from a resultset row starting from a specified offset. This is done so that
  * you can select other rows than just those needed for this object. You may for example want to
  * create two objects from the same row.
  *
  * @throws TorqueException Any exceptions caught during processing will be rethrown wrapped into a
  *     TorqueException.
  */
 public static void populateObject(Record row, int offset, AttendenceSeet obj)
     throws TorqueException {
   try {
     obj.setId(row.getValue(offset + 0).asInt());
     obj.setUserId(row.getValue(offset + 1).asInt());
     obj.setLoginDate(row.getValue(offset + 2).asUtilDate());
     obj.setIpaddress(row.getValue(offset + 3).asString());
   } catch (DataSetException e) {
     throw new TorqueException(e);
   }
 }
  /**
   * Create a new object of type cls from a resultset row starting from a specified offset. This is
   * done so that you can select other rows than just those needed for this object. You may for
   * example want to create two objects from the same row.
   *
   * @throws TorqueException Any exceptions caught during processing will be rethrown wrapped into a
   *     TorqueException.
   */
  public static AttendenceSeet row2Object(Record row, int offset, Class cls)
      throws TorqueException {
    try {
      AttendenceSeet obj = (AttendenceSeet) cls.newInstance();
      AttendenceSeetPeer.populateObject(row, offset, obj);
      obj.setModified(false);
      obj.setNew(false);

      return obj;
    } catch (InstantiationException e) {
      throw new TorqueException(e);
    } catch (IllegalAccessException e) {
      throw new TorqueException(e);
    }
  }
 /**
  * Method to do update. This method is to be used during a transaction, otherwise use the
  * doUpdate(AttendenceSeet) method. It will take care of the connection details internally.
  *
  * @param obj the data object to update in the database.
  * @param con the connection to use
  * @throws TorqueException Any exceptions caught during processing will be rethrown wrapped into a
  *     TorqueException.
  */
 public static void doUpdate(AttendenceSeet obj, Connection con) throws TorqueException {
   doUpdate(buildCriteria(obj), con);
   obj.setModified(false);
 }
 /**
  * Method to do inserts. This method is to be used during a transaction, otherwise use the
  * doInsert(AttendenceSeet) method. It will take care of the connection details internally.
  *
  * @param obj the data object to insert into the database.
  * @param con the connection to use
  * @throws TorqueException Any exceptions caught during processing will be rethrown wrapped into a
  *     TorqueException.
  */
 public static void doInsert(AttendenceSeet obj, Connection con) throws TorqueException {
   obj.setPrimaryKey(doInsert(buildCriteria(obj), con));
   obj.setNew(false);
   obj.setModified(false);
 }