/**
   * @deprecated TODO Usage of this method should be removed or revised as current use of default
   *     encoding is not correct.
   */
  @Deprecated
  public DatabaseParameterBuffer getDatabaseParameterBuffer() throws SQLException {
    // TODO Instance creation should be done through FbDatabase or database factory?
    DatabaseParameterBuffer dpb =
        new DatabaseParameterBufferImp(
            DatabaseParameterBufferImp.DpbMetaData.DPB_VERSION_1,
            EncodingFactory.getPlatformEncoding());
    for (Map.Entry<String, Object> entry : properties.entrySet()) {
      String propertyName = entry.getKey();
      Object value = entry.getValue();

      Integer dpbType = ParameterBufferHelper.getDpbKey(propertyName);

      if (dpbType == null) continue;

      if (value instanceof Boolean) {
        if ((Boolean) value) dpb.addArgument(dpbType);
      } else if (value instanceof Byte) {
        dpb.addArgument(dpbType, new byte[] {(Byte) value});
      } else if (value instanceof Integer) {
        dpb.addArgument(dpbType, (Integer) value);
      } else if (value instanceof String) {
        dpb.addArgument(dpbType, (String) value);
      } else if (value == null) dpb.addArgument(dpbType);
    }
    return dpb;
  }
  private void setStringProperty(String name, String value) {
    if (DATABASE_PROPERTY.equals(name)) {
      setDatabase(value);
    } else if (TYPE_PROPERTY.equals(name)) {
      setType(value);
    }

    name = getCanonicalName(name);
    Object objValue = ParameterBufferHelper.parseDpbString(name, value);

    properties.put(name, objValue);
  }