class DatabaseMeta extends SharedObjectBase implements Cloneable, XMLInterface, SharedObjectInterface,
  VariableSpace, RepositoryElementInterface {

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

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

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

    if ( !isPartitioned()
      && ( ( (BaseDatabaseMeta) getDatabaseInterface() ).requiresName()
      && !( getDatabaseInterface() 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( String xml );
  public  DatabaseMeta( Node con );

}