The final restructured version for automatic build using maven tycho
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / snippets / SnippetDefinintion.java
diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/SnippetDefinintion.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/SnippetDefinintion.java
deleted file mode 100644 (file)
index c5fecf2..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-package net.mograsim.logic.model.snippets;
-
-import java.util.function.BiFunction;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-
-public interface SnippetDefinintion<C, P, S>
-{
-       public Class<P> getParamClass();
-
-       public S create(C context, P params);
-
-       public default S create(C context, JsonElement params)
-       {
-               Class<P> paramClass = getParamClass();
-               if (paramClass.equals(Void.class))
-               {
-                       if (params != null)
-                               throw new IllegalArgumentException("Params given where none were expected");
-                       return create(context, (P) null);
-               }
-               return create(context, new Gson().fromJson(params, getParamClass()));
-       }
-
-       public static <C, P, S> SnippetDefinintion<C, P, S> create(Class<P> paramClass, BiFunction<C, P, S> supplier)
-       {
-               return new SnippetDefinintion<>()
-               {
-                       @Override
-                       public Class<P> getParamClass()
-                       {
-                               return paramClass;
-                       }
-
-                       @Override
-                       public S create(C context, P params)
-                       {
-                               return supplier.apply(context, params);
-                       }
-               };
-       }
-}
\ No newline at end of file