SnuviScript.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package me.hammerle.snuviscript;
  2. import java.io.IOException;
  3. import java.util.concurrent.Executors;
  4. import java.util.concurrent.ScheduledExecutorService;
  5. import java.util.concurrent.TimeUnit;
  6. import me.hammerle.snuviscript.code.ISnuviLogger;
  7. import me.hammerle.snuviscript.code.ISnuviScheduler;
  8. import me.hammerle.snuviscript.code.Script;
  9. import me.hammerle.snuviscript.code.SnuviParser;
  10. public class SnuviScript
  11. {
  12. public static void main(String[] args) throws IOException
  13. {
  14. ISnuviLogger logger = new ISnuviLogger()
  15. {
  16. @Override
  17. public void print(String message, Exception ex, String function, String scriptname, Script sc, int line)
  18. {
  19. System.out.println("________________________________________");
  20. System.out.println("Exception");
  21. if(message != null)
  22. {
  23. System.out.println(" - " + message);
  24. }
  25. if(ex != null)
  26. {
  27. System.out.println(" - " + ex.getClass().getSimpleName());
  28. }
  29. if(function != null)
  30. {
  31. System.out.println(" - Funktion: " + function);
  32. }
  33. if(scriptname != null)
  34. {
  35. System.out.println(" - Script: " + scriptname);
  36. }
  37. if(line != -1)
  38. {
  39. System.out.println(" - Line: " + line);
  40. }
  41. }
  42. };
  43. ISnuviScheduler scheduler = new ISnuviScheduler()
  44. {
  45. @Override
  46. public int scheduleTask(Runnable r)
  47. {
  48. System.out.println("SCHEDULER");
  49. return 0;
  50. }
  51. @Override
  52. public int scheduleTask(Runnable r, long delay)
  53. {
  54. ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
  55. executor.schedule(r, delay, TimeUnit.MILLISECONDS);
  56. executor.shutdown();
  57. return 1;
  58. }
  59. };
  60. SnuviParser parser = new SnuviParser(logger, scheduler);
  61. parser.startScript(true, ".sbasic", "./test");
  62. parser.callEvent("testevent", null, null);
  63. }
  64. }