aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulia McCauley <skurvyj@gmail.com>2021-03-30 21:22:31 -0400
committerJulia McCauley <skurvyj@gmail.com>2021-03-30 21:22:31 -0400
commitbfd8782e5b028dc47655eb332b43cbde7697bfda (patch)
tree046b8e06f7f4b530f7fb35323d055912332b1110 /src
parentafccf15fe466259234a132b7cd925299871fd5e7 (diff)
set up project structure
Diffstat (limited to 'src')
-rw-r--r--src/main/java/edu/brown/cs/student/stars/Main.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/main/java/edu/brown/cs/student/stars/Main.java b/src/main/java/edu/brown/cs/student/stars/Main.java
new file mode 100644
index 0000000..61127b5
--- /dev/null
+++ b/src/main/java/edu/brown/cs/student/stars/Main.java
@@ -0,0 +1,62 @@
+package edu.brown.cs.student.stars;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Map;
+
+import joptsimple.OptionParser;
+import joptsimple.OptionSet;
+import spark.ExceptionHandler;
+import spark.ModelAndView;
+import spark.Request;
+import spark.Response;
+import spark.Spark;
+import spark.TemplateViewRoute;
+import spark.template.freemarker.FreeMarkerEngine;
+
+import com.google.common.collect.ImmutableMap;
+
+import freemarker.template.Configuration;
+
+/**
+ * The Main class of our project. This is where execution begins.
+ *
+ */
+public final class Main {
+
+ private static final int DEFAULT_PORT = 4567;
+
+ /**
+ * The initial method called when execution begins.
+ *
+ * @param args
+ * An array of command line arguments
+ */
+ public static void main(String[] args) {
+ new Main(args).run();
+ }
+
+ private String[] args;
+
+ private Main(String[] args) {
+ this.args = args;
+ }
+
+ private void run() {
+ // Parse command line arguments
+ OptionParser parser = new OptionParser();
+ parser.accepts("gui");
+ parser.accepts("port").withRequiredArg().ofType(Integer.class)
+ .defaultsTo(DEFAULT_PORT);
+ OptionSet options = parser.parse(args);
+
+ if (options.has("gui")) {
+ //do a gui type thing
+ //runSparkServer((int) options.valueOf("port"));
+ }
+
+ // TODO: Process commands in a REPL
+ }
+} \ No newline at end of file