package pluginbase.jdbc;
import pluginbase.config.annotation.Comment;
import pluginbase.config.properties.PropertiesWrapper;
public class SpringDatabaseSettings extends PropertiesWrapper implements DatabaseSettings {
@Comment({
"What type of database to use.",
"H2 is built in.",
"Others such as MySQL or SQLite may work.",
"You can also specify the exact driver to use here."
})
private String databaseType;
private SpringDatabaseConnectionInfo databaseInfo = new SpringDatabaseConnectionInfo();
public SpringDatabaseSettings() {
this("H2");
}
public SpringDatabaseSettings(String defaultDbType) {
this.databaseType = defaultDbType;
}
@Override
public String getDatabaseType() {
return databaseType;
}
@Override
public void setDatabaseType(String databaseType) {
this.databaseType = databaseType;
}
@Override
public SpringDatabaseConnectionInfo getDatabaseInfo() {
return databaseInfo;
}
@Comment("Settings for non-SQLite databases")
public static class SpringDatabaseConnectionInfo implements DatabaseConnectionInfo {
@Comment({
"This is the JDBC url that will be used for connecting to the database.",
"If this does not start with \"jdbc\" then it will be assumed an embedded db is desired and this will be the file name for such."
})
private String url = "database";
private String user = "sa";
private String pass = "";
private SpringDatabaseConnectionInfo() { }
@Override
public String getUser() {
return user;
}
@Override
public String getPass() {
return pass;
}
@Override
public String getUrl() {
return url;
}
@Override
public void setUrl(String url) {
this.url = url;
}
@Override
public void setUser(String user) {
this.user = user;
}
@Override
public void setPass(String pass) {
this.pass = pass;
}
}
}