aboutsummaryrefslogtreecommitdiff
path: root/src/java/de/romjaki/icndbwrapper/RestAction.java
diff options
context:
space:
mode:
authorMDWay <roman.graef@gmail.com>2017-06-08 11:27:31 +0200
committerGitHub <noreply@github.com>2017-06-08 11:27:31 +0200
commit8becb517145155ba171d57426cb6f9e0ec698348 (patch)
tree81be77cf51c5238ace779efef46c605719995922 /src/java/de/romjaki/icndbwrapper/RestAction.java
parent9a47475388aab5eb32eff27c3af8004daf7cb5f6 (diff)
downloadicndbwrapper-8becb517145155ba171d57426cb6f9e0ec698348.tar.gz
icndbwrapper-8becb517145155ba171d57426cb6f9e0ec698348.tar.bz2
icndbwrapper-8becb517145155ba171d57426cb6f9e0ec698348.zip
Create RestAction.java
Diffstat (limited to 'src/java/de/romjaki/icndbwrapper/RestAction.java')
-rw-r--r--src/java/de/romjaki/icndbwrapper/RestAction.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/java/de/romjaki/icndbwrapper/RestAction.java b/src/java/de/romjaki/icndbwrapper/RestAction.java
new file mode 100644
index 0000000..9d778af
--- /dev/null
+++ b/src/java/de/romjaki/icndbwrapper/RestAction.java
@@ -0,0 +1,42 @@
+package de.romjaki.icndbwrapper;
+
+public class RestAction<T, R extends GsonSchematic<T>> {
+
+ private final R emptySchematic;
+ private final String url;
+ private final Map<String, String> parameters;
+
+ public RestAction(R emptySchematic, String relativeUrl, Map<String, String> parameters) {
+ this.emptySchematic = emptySchematic;
+ this.url = relativeUrl;
+ this.parameters = parameters;
+ }
+
+ public void queue() {
+ queue(null);
+ }
+
+ public void queue(Consumer<T> success) {
+ queue(success, null);
+ }
+
+ public void queue(Consumer<T> success, Consumer<T> fail) {
+ Thread t = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ Gson gson = new Gson();
+ R schematic = gson.fromJson(executeGet(this.url, this.parameters), emptySchematic.getClass());
+ //TODO
+ }
+ });
+ }
+
+ public T complete() {
+ // TODO
+ }
+
+ public static String executeGet(String url, Map<String, String> parameters) {
+ // TODO
+ }
+
+}