diff options
author | MDWay <roman.graef@gmail.com> | 2017-06-08 11:27:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-08 11:27:31 +0200 |
commit | 8becb517145155ba171d57426cb6f9e0ec698348 (patch) | |
tree | 81be77cf51c5238ace779efef46c605719995922 /src/java/de/romjaki/icndbwrapper/RestAction.java | |
parent | 9a47475388aab5eb32eff27c3af8004daf7cb5f6 (diff) | |
download | icndbwrapper-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.java | 42 |
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 + } + +} |