class DatabaseMeta implements Cloneable, IVariables, IHopMetadata {

  public String[] checkParameters() {
    ArrayList<String> remarks = new ArrayList<>();

    if ( getIDatabase() == null ) {
      remarks.add( BaseMessages.getString( PKG, "DatabaseMeta.BadInterface" ) );
    }

    if ( getName() == null || getName().length() == 0 ) {
      remarks.add( BaseMessages.getString( PKG, "DatabaseMeta.BadConnectionName" ) );
    }

    if ( ( ( (BaseDatabaseMeta) getIDatabase() ).requiresName()
      && !( getIDatabase() instanceof GenericDatabaseMeta ) ) ) {
      if ( getDatabaseName() == null || getDatabaseName().length() == 0 ) {
        remarks.add( BaseMessages.getString( PKG, "DatabaseMeta.BadDatabaseName" ) );
      }
    }

    return remarks.toArray( new String[ remarks.size() ] );
  }

  public  DatabaseMeta( String name, String type, String access, String host, String db, String port, String user, String pass );
  public  DatabaseMeta();
  public  DatabaseMeta( DatabaseMeta databaseMeta );

}