/**
   * Creates an associated valueObject and populates it with data from the ResultSet.
   *
   * @param ResultSet rs
   * @return IFrameworkValueObject
   */
  protected IFrameworkValueObject createValueObject(ResultSet rs) {
    IDictionaryKindValueObject valueObject = null;

    try {
      // use the ResultSet to get data related to this class

      valueObject = getDictionaryKindValueObject();

      if (valueObject == null) // create one
      {
        valueObject = new DictionaryKindValueObject();
      }

      // **********************************************************
      // Step #1
      // assign the DictionaryKind primary key using the provided ResultSet
      // **********************************************************
      // v 2.3 - in order to effectively handle inheritance, now assign the pk fields directly
      // to the valueobject as attribute(s)
      //            DictionaryKindPrimaryKey pk = new DictionaryKindPrimaryKey( assignSafeLong(
      // rs.getString( 1 ) ) );
      //            valueObject.setFrameworkPrimaryKey( pk );

      // **********************************************************
      // Step #2
      // assign the remaining attributes to the value object
      // **********************************************************
      // AIB Generated Section - Do Not Modify Within
      valueObject.setDictionaryKindID(rs.getString("dictionaryKindID"));
      valueObject.setKind(rs.getString("kind"));
      valueObject.setSuperKind(rs.getString("superKind"));
      valueObject.setDetail(rs.getString("detail"));
      valueObject.setSource(rs.getString("source"));
      valueObject.setMask(rs.getString("mask"));
      valueObject.setNote(rs.getString("note"));
      valueObject.setDictSize(rs.getString("dictSize"));
      valueObject.setFrequencyInUse(rs.getString("frequencyInUse"));
      valueObject.setLastUpdatedBy(rs.getString("lastUpdatedBy"));
      valueObject.setLastUpdatedTime(rs.getTimestamp("lastUpdatedTime"));
      valueObject.setRefreshTime(rs.getTimestamp("refreshTime"));
      valueObject.setDownloadFlag(rs.getString("downloadFlag"));
      valueObject.setReservation01(rs.getString("reservation01"));
      valueObject.setReservation02(rs.getString("reservation02"));

      // ~AIB Generated
      // apply the valueObject so it may be referred to by the base class
      // in its implementation of this method
      setDictionaryKindValueObject(valueObject);

      // if there is a base class, let it get its attributes from the Resultset
      super.createValueObject(rs);

    } catch (Exception exc) {
      printMessage("DictionaryKindDAO:createValueObject()-" + exc);
    }

    return (valueObject);
  }
  /**
   * returns a vector of input and/or output parameters for the execution of the store stored
   * procedure.
   *
   * @param boolean load or store indicator
   */
  protected Vector getDatabaseArgs(boolean bLoad) throws Exception {
    boolean bIn = true;

    // **************************************************************
    // Finally, delegate to the base class in order to acquire
    // parameters in a top down order
    // **************************************************************
    //        Vector v = super.getDatabaseArgs( bLoad );
    Vector v = new Vector();

    // if loading, make the in parameters into out parameters
    if (bLoad == true) {
      // output parameters
      bIn = false;
    }

    IDictionaryKindValueObject valueObject = (IDictionaryKindValueObject) getValueObject();
    int numKeys = 0;

    // **************************************************************
    // Add the valueObjects attributes to the Vector using the
    // Frameworks database parameter classes.
    // **************************************************************
    // AIB Generated Section - Do Not Modify Within

    v.insertElementAt(
        AppUtility.getAppParameter(valueObject.getDictionaryKindID(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getKind(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getSuperKind(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getDetail(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getSource(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getMask(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getNote(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getDictSize(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getFrequencyInUse(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getLastUpdatedBy(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getLastUpdatedTime(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getRefreshTime(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getDownloadFlag(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getReservation01(), bIn), numKeys++);
    v.insertElementAt(AppUtility.getAppParameter(valueObject.getReservation02(), bIn), numKeys++);
    // ~AIB Generated

    return (v);
  }