{
- static {
- Skript.registerExpression(ExprDBError.class, String.class,
- ExpressionType.SIMPLE, "[the] [last] (sql|db|data(base|[ ]source)) error");
- }
+ static {
+ Skript.registerExpression(ExprDBError.class, String.class,
+ ExpressionType.SIMPLE, "[the] [last] (sql|db|data(base|[ ]source)) error");
+ }
- @Override
- protected String[] get(Event e) {
- return new String[]{EffExecuteStatement.lastError};
- }
+ @Override
+ protected String[] get(Event e) {
+ return new String[]{EffExecuteStatement.lastError};
+ }
- @Override
- public boolean isSingle() {
- return true;
- }
+ @Override
+ public boolean isSingle() {
+ return true;
+ }
- @Override
- public Class extends String> getReturnType() {
- return String.class;
- }
+ @Override
+ public Class extends String> getReturnType() {
+ return String.class;
+ }
- @Override
- public String toString(Event e, boolean debug) {
- return "last database error";
- }
+ @Override
+ public String toString(Event e, boolean debug) {
+ return "last database error";
+ }
- @Override
- public boolean init(Expression>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
- return true;
- }
+ @Override
+ public boolean init(Expression>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
+ return true;
+ }
}
diff --git a/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java b/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java
index 869418d..dd54e8a 100644
--- a/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java
+++ b/src/main/java/com/btk5h/skriptdb/skript/ExprDataSource.java
@@ -1,13 +1,5 @@
package com.btk5h.skriptdb.skript;
-import com.btk5h.skriptdb.SkriptDB;
-import com.zaxxer.hikari.HikariDataSource;
-
-import org.bukkit.event.Event;
-
-import java.util.HashMap;
-import java.util.Map;
-
import ch.njol.skript.Skript;
import ch.njol.skript.lang.Expression;
import ch.njol.skript.lang.ExpressionType;
@@ -15,11 +7,17 @@ import ch.njol.skript.lang.SkriptParser;
import ch.njol.skript.lang.util.SimpleExpression;
import ch.njol.skript.util.Timespan;
import ch.njol.util.Kleenean;
+import com.btk5h.skriptdb.SkriptDB;
+import com.zaxxer.hikari.HikariDataSource;
+import org.bukkit.event.Event;
+
+import java.util.HashMap;
+import java.util.Map;
/**
* Stores the connection information for a data source. This should be saved to a variable in a
* `script load` event or manually through an effect command.
- *
+ *
* The url format for your database may vary! The example provided uses a MySQL database.
*
* @name Data Source
@@ -30,74 +28,74 @@ import ch.njol.util.Kleenean;
* @since 0.1.0
*/
public class ExprDataSource extends SimpleExpression {
- static {
- Skript.registerExpression(ExprDataSource.class, HikariDataSource.class,
- ExpressionType.COMBINED, "[the] data(base|[ ]source) [(of|at)] %string% " +
- "[with [a] [max[imum]] [connection] life[ ]time of %-timespan%]");
- }
+ private static final Map connectionCache = new HashMap<>();
- private static Map connectionCache = new HashMap<>();
-
- private Expression url;
- private Expression maxLifetime;
-
- @Override
- protected HikariDataSource[] get(Event e) {
- String jdbcUrl = url.getSingle(e);
- if (jdbcUrl == null) {
- return null;
+ static {
+ Skript.registerExpression(ExprDataSource.class, HikariDataSource.class,
+ ExpressionType.COMBINED, "[the] data(base|[ ]source) [(of|at)] %string% " +
+ "[with [a] [max[imum]] [connection] life[ ]time of %-timespan%]");
}
- if (!jdbcUrl.startsWith("jdbc:")) {
- jdbcUrl = "jdbc:" + jdbcUrl;
+ private Expression url;
+ private Expression maxLifetime;
+
+ @Override
+ protected HikariDataSource[] get(Event e) {
+ String jdbcUrl = url.getSingle(e);
+ if (jdbcUrl == null) {
+ return null;
+ }
+
+ if (!jdbcUrl.startsWith("jdbc:")) {
+ jdbcUrl = "jdbc:" + jdbcUrl;
+ }
+
+ if (connectionCache.containsKey(jdbcUrl)) {
+ return new HikariDataSource[]{connectionCache.get(jdbcUrl)};
+ }
+
+ HikariDataSource ds = new HikariDataSource();
+
+ //allow specifying of own sql driver class name
+ if (!SkriptDB.getInstance().getConfig().getString("sql-driver-class-name", "default").equals("default")) {
+ ds.setDriverClassName(SkriptDB.getInstance().getConfig().getString("sql-driver-class-name"));
+ }
+ ds.setJdbcUrl(jdbcUrl);
+
+ if (maxLifetime != null) {
+ Timespan l = maxLifetime.getSingle(e);
+
+ if (l != null) {
+ ds.setMaxLifetime(l.getMilliSeconds());
+ }
+ }
+
+ connectionCache.put(jdbcUrl, ds);
+
+ return new HikariDataSource[]{ds};
}
- if (connectionCache.containsKey(jdbcUrl)) {
- return new HikariDataSource[]{connectionCache.get(jdbcUrl)};
+ @Override
+ public boolean isSingle() {
+ return true;
}
- HikariDataSource ds = new HikariDataSource();
-
- //allow specifying of own sql driver class name
- if (!SkriptDB.getInstance().getConfig().getString("sql-driver-class-name", "default").equals("default")) {
- ds.setDriverClassName(SkriptDB.getInstance().getConfig().getString("sql-driver-class-name"));
- }
- ds.setJdbcUrl(jdbcUrl);
-
- if (maxLifetime != null) {
- Timespan l = maxLifetime.getSingle(e);
-
- if (l != null) {
- ds.setMaxLifetime(l.getMilliSeconds());
- }
+ @Override
+ public Class extends HikariDataSource> getReturnType() {
+ return HikariDataSource.class;
}
- connectionCache.put(jdbcUrl, ds);
+ @Override
+ public String toString(Event e, boolean debug) {
+ return "datasource " + url.toString(e, debug);
+ }
- return new HikariDataSource[]{ds};
- }
-
- @Override
- public boolean isSingle() {
- return true;
- }
-
- @Override
- public Class extends HikariDataSource> getReturnType() {
- return HikariDataSource.class;
- }
-
- @Override
- public String toString(Event e, boolean debug) {
- return "datasource " + url.toString(e, debug);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public boolean init(Expression>[] exprs, int matchedPattern, Kleenean isDelayed,
- SkriptParser.ParseResult parseResult) {
- url = (Expression) exprs[0];
- maxLifetime = (Expression) exprs[1];
- return true;
- }
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean init(Expression>[] exprs, int matchedPattern, Kleenean isDelayed,
+ SkriptParser.ParseResult parseResult) {
+ url = (Expression) exprs[0];
+ maxLifetime = (Expression) exprs[1];
+ return true;
+ }
}
diff --git a/src/main/java/com/btk5h/skriptdb/skript/ExprSQLQuery.java b/src/main/java/com/btk5h/skriptdb/skript/ExprSQLQuery.java
index e27e3ec..b44e47b 100644
--- a/src/main/java/com/btk5h/skriptdb/skript/ExprSQLQuery.java
+++ b/src/main/java/com/btk5h/skriptdb/skript/ExprSQLQuery.java
@@ -20,41 +20,41 @@ import org.bukkit.event.Event;
* @since 0.1.0
*/
public class ExprSQLQuery extends SimpleExpression {
- static {
- Skript.registerExpression(ExprSQLQuery.class, String.class,
- ExpressionType.SIMPLE, "sql query");
- }
-
-
- @Override
- protected String[] get(Event e) {
- if (e instanceof SQLQueryCompleteEvent){
- return new String[]{((SQLQueryCompleteEvent) e).getQuery()};
+ static {
+ Skript.registerExpression(ExprSQLQuery.class, String.class,
+ ExpressionType.SIMPLE, "sql query");
}
- return null;
- }
- @Override
- public boolean isSingle() {
- return true;
- }
- @Override
- public Class extends String> getReturnType() {
- return String.class;
- }
-
- @Override
- public String toString(Event e, boolean debug) {
- return "sql query";
- }
-
- @Override
- public boolean init(final Expression>[] expressions, final int matchedPattern, final Kleenean isDelayed, final SkriptParser.ParseResult parseResult) {
- if (!ScriptLoader.isCurrentEvent(SQLQueryCompleteEvent.class)) {
- Skript.error("Cannot use 'sql query' outside of a complete of sql query event", ErrorQuality.SEMANTIC_ERROR);
- return false;
+ @Override
+ protected String[] get(Event e) {
+ if (e instanceof SQLQueryCompleteEvent) {
+ return new String[]{((SQLQueryCompleteEvent) e).getQuery()};
+ }
+ return null;
+ }
+
+ @Override
+ public boolean isSingle() {
+ return true;
+ }
+
+ @Override
+ public Class extends String> getReturnType() {
+ return String.class;
+ }
+
+ @Override
+ public String toString(Event e, boolean debug) {
+ return "sql query";
+ }
+
+ @Override
+ public boolean init(final Expression>[] expressions, final int matchedPattern, final Kleenean isDelayed, final SkriptParser.ParseResult parseResult) {
+ if (!ScriptLoader.isCurrentEvent(SQLQueryCompleteEvent.class)) {
+ Skript.error("Cannot use 'sql query' outside of a complete of sql query event", ErrorQuality.SEMANTIC_ERROR);
+ return false;
+ }
+ return true;
}
- return true;
- }
}
diff --git a/src/main/java/com/btk5h/skriptdb/skript/ExprUnsafe.java b/src/main/java/com/btk5h/skriptdb/skript/ExprUnsafe.java
index b557d79..44602ab 100644
--- a/src/main/java/com/btk5h/skriptdb/skript/ExprUnsafe.java
+++ b/src/main/java/com/btk5h/skriptdb/skript/ExprUnsafe.java
@@ -1,13 +1,12 @@
package com.btk5h.skriptdb.skript;
-import org.bukkit.event.Event;
-
import ch.njol.skript.Skript;
import ch.njol.skript.lang.Expression;
import ch.njol.skript.lang.ExpressionType;
import ch.njol.skript.lang.SkriptParser;
import ch.njol.skript.lang.util.SimpleExpression;
import ch.njol.util.Kleenean;
+import org.bukkit.event.Event;
/**
* Opts out of automatic SQL injection protection for a specific expression in a statement.
@@ -20,44 +19,44 @@ import ch.njol.util.Kleenean;
* @since 0.1.0
*/
public class ExprUnsafe extends SimpleExpression {
- static {
- Skript.registerExpression(ExprUnsafe.class, String.class, ExpressionType.COMBINED,
- "unsafe %string%");
- }
+ static {
+ Skript.registerExpression(ExprUnsafe.class, String.class, ExpressionType.COMBINED,
+ "unsafe %string%");
+ }
- private Expression stringExpression;
- private String rawExpression;
+ private Expression stringExpression;
+ private String rawExpression;
- public String getRawExpression() {
- return rawExpression;
- }
+ public String getRawExpression() {
+ return rawExpression;
+ }
- @Override
- protected String[] get(Event e) {
- return stringExpression.getArray(e);
- }
+ @Override
+ protected String[] get(Event e) {
+ return stringExpression.getArray(e);
+ }
- @Override
- public boolean isSingle() {
- return true;
- }
+ @Override
+ public boolean isSingle() {
+ return true;
+ }
- @Override
- public Class extends String> getReturnType() {
- return String.class;
- }
+ @Override
+ public Class extends String> getReturnType() {
+ return String.class;
+ }
- @Override
- public String toString(Event e, boolean debug) {
- return "unsafe " + stringExpression.toString(e, debug);
- }
+ @Override
+ public String toString(Event e, boolean debug) {
+ return "unsafe " + stringExpression.toString(e, debug);
+ }
- @SuppressWarnings("unchecked")
- @Override
- public boolean init(Expression>[] exprs, int matchedPattern, Kleenean isDelayed,
- SkriptParser.ParseResult parseResult) {
- stringExpression = (Expression) exprs[0];
- rawExpression = parseResult.expr.substring("unsafe".length()).trim();
- return true;
- }
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean init(Expression>[] exprs, int matchedPattern, Kleenean isDelayed,
+ SkriptParser.ParseResult parseResult) {
+ stringExpression = (Expression) exprs[0];
+ rawExpression = parseResult.expr.substring("unsafe".length()).trim();
+ return true;
+ }
}
diff --git a/src/main/java/com/btk5h/skriptdb/skript/Types.java b/src/main/java/com/btk5h/skriptdb/skript/Types.java
index ca70830..6efc304 100644
--- a/src/main/java/com/btk5h/skriptdb/skript/Types.java
+++ b/src/main/java/com/btk5h/skriptdb/skript/Types.java
@@ -11,58 +11,58 @@ import com.zaxxer.hikari.HikariDataSource;
import java.io.StreamCorruptedException;
public class Types {
- static {
- Classes.registerClass(new ClassInfo<>(HikariDataSource.class, "datasource")
- .user("datasources?")
- .parser(new Parser() {
- @Override
- public HikariDataSource parse(String s, ParseContext context) {
- return null;
- }
+ static {
+ Classes.registerClass(new ClassInfo<>(HikariDataSource.class, "datasource")
+ .user("datasources?")
+ .parser(new Parser() {
+ @Override
+ public HikariDataSource parse(String s, ParseContext context) {
+ return null;
+ }
- @Override
- public String toString(HikariDataSource o, int flags) {
- return o.getJdbcUrl();
- }
+ @Override
+ public String toString(HikariDataSource o, int flags) {
+ return o.getJdbcUrl();
+ }
- @Override
- public String toVariableNameString(HikariDataSource o) {
- return o.getJdbcUrl();
- }
+ @Override
+ public String toVariableNameString(HikariDataSource o) {
+ return o.getJdbcUrl();
+ }
- @Override
- public String getVariableNamePattern() {
- return "jdbc:.+";
- }
- })
- .serializer(new Serializer() {
- @Override
- public Fields serialize(HikariDataSource o) {
- Fields fields = new Fields();
- fields.putObject("jdbcurl", o.getJdbcUrl());
- return fields;
- }
+ @Override
+ public String getVariableNamePattern() {
+ return "jdbc:.+";
+ }
+ })
+ .serializer(new Serializer() {
+ @Override
+ public Fields serialize(HikariDataSource o) {
+ Fields fields = new Fields();
+ fields.putObject("jdbcurl", o.getJdbcUrl());
+ return fields;
+ }
- @Override
- public void deserialize(HikariDataSource o, Fields f) {
- }
+ @Override
+ public void deserialize(HikariDataSource o, Fields f) {
+ }
- @Override
- protected HikariDataSource deserialize(Fields fields) throws StreamCorruptedException {
- HikariDataSource ds = new HikariDataSource();
- ds.setJdbcUrl((String) fields.getObject("jdbcurl"));
- return ds;
- }
+ @Override
+ protected HikariDataSource deserialize(Fields fields) throws StreamCorruptedException {
+ HikariDataSource ds = new HikariDataSource();
+ ds.setJdbcUrl((String) fields.getObject("jdbcurl"));
+ return ds;
+ }
- @Override
- public boolean mustSyncDeserialization() {
- return false;
- }
+ @Override
+ public boolean mustSyncDeserialization() {
+ return false;
+ }
- @Override
- protected boolean canBeInstantiated() {
- return false;
- }
- }));
- }
+ @Override
+ protected boolean canBeInstantiated() {
+ return false;
+ }
+ }));
+ }
}