Did some clean up
[Mograsim.git] / era.mi / src / era / mi / logic / timeline / Timeline.java
index a0266c0..9e64938 100644 (file)
@@ -11,14 +11,17 @@ import java.util.function.Consumer;
  * @author Fabian Stemmler\r
  *\r
  */\r
-public class Timeline {\r
+public class Timeline\r
+{\r
        private PriorityQueue<InnerEvent> events;\r
        private long currentTime = 0;\r
 \r
        private final List<Consumer<TimelineEvent>> eventAddedListener;\r
 \r
-       public Timeline(int initCapacity) {\r
-               events = new PriorityQueue<InnerEvent>(initCapacity, (a, b) -> {\r
+       public Timeline(int initCapacity)\r
+       {\r
+               events = new PriorityQueue<InnerEvent>(initCapacity, (a, b) ->\r
+               {\r
                        long difference = a.getTiming() - b.getTiming();\r
                        if (difference == 0)\r
                                return 0;\r
@@ -28,17 +31,20 @@ public class Timeline {
                eventAddedListener = new ArrayList<>();\r
        }\r
 \r
-       public boolean hasNext() {\r
+       public boolean hasNext()\r
+       {\r
                return !events.isEmpty();\r
        }\r
 \r
-       public void executeNext() {\r
+       public void executeNext()\r
+       {\r
                InnerEvent first = events.poll();\r
                currentTime = first.getTiming();\r
                first.run();\r
        }\r
 \r
-       public void executeAll() {\r
+       public void executeAll()\r
+       {\r
                while (hasNext())\r
                        executeNext();\r
        }\r
@@ -51,14 +57,17 @@ public class Timeline {
         * @return if it was possible to fulfil the goal in the given real world time.\r
         * @author Christian Femers\r
         */\r
-       public ExecutionResult executeUpTo(long timestamp, long stopMillis) {\r
-               if (events.isEmpty()) {\r
+       public ExecutionResult executeUpTo(long timestamp, long stopMillis)\r
+       {\r
+               if (events.isEmpty())\r
+               {\r
                        currentTime = timestamp;\r
                        return ExecutionResult.NOTHING_DONE;\r
                }\r
                int checkStop = 0;\r
                InnerEvent first = events.peek();\r
-               while (first != null && first.getTiming() <= timestamp) {\r
+               while (first != null && first.getTiming() <= timestamp)\r
+               {\r
                        events.remove();\r
                        currentTime = first.getTiming();\r
                        first.run();\r
@@ -72,27 +81,31 @@ public class Timeline {
                return ExecutionResult.DONE_IN_TIME;\r
        }\r
 \r
-       public long getSimulationTime() {\r
+       public long getSimulationTime()\r
+       {\r
                return currentTime;\r
        }\r
 \r
-       public long nextEventTime() {\r
+       public long nextEventTime()\r
+       {\r
                if (!hasNext())\r
                        return -1;\r
-               else\r
-                       return events.peek().timing;\r
+               return events.peek().timing;\r
        }\r
 \r
-       public void reset() {\r
+       public void reset()\r
+       {\r
                events.clear();\r
                currentTime = 0;\r
        }\r
 \r
-       public void addEventAddedListener(Consumer<TimelineEvent> listener) {\r
+       public void addEventAddedListener(Consumer<TimelineEvent> listener)\r
+       {\r
                eventAddedListener.add(listener);\r
        }\r
 \r
-       public void removeEventAddedListener(Consumer<TimelineEvent> listener) {\r
+       public void removeEventAddedListener(Consumer<TimelineEvent> listener)\r
+       {\r
                eventAddedListener.remove(listener);\r
        }\r
 \r
@@ -102,16 +115,18 @@ public class Timeline {
         * @param function       The {@link TimelineEventHandler} that will be executed, when the {@link InnerEvent} occurs on the timeline.\r
         * @param relativeTiming The amount of MI ticks in which the {@link InnerEvent} is called, starting from the current time.\r
         */\r
-       public void addEvent(TimelineEventHandler function, int relativeTiming) {\r
+       public void addEvent(TimelineEventHandler function, int relativeTiming)\r
+       {\r
                long timing = currentTime + relativeTiming;\r
                TimelineEvent event = new TimelineEvent(timing);\r
                events.add(new InnerEvent(function, event, timing));\r
                eventAddedListener.forEach(l -> l.accept(event));\r
        }\r
 \r
-       private class InnerEvent {\r
+       private class InnerEvent\r
+       {\r
 \r
-               private final long timing;\r
+               final long timing;\r
                private final TimelineEventHandler function;\r
                private final TimelineEvent event;\r
 \r
@@ -121,36 +136,43 @@ public class Timeline {
                 * @param function {@link TimelineEventHandler} to be executed when the {@link InnerEvent} occurs\r
                 * @param timing   Point in the MI simulation {@link Timeline}, at which the {@link InnerEvent} is executed;\r
                 */\r
-               InnerEvent(TimelineEventHandler function, TimelineEvent event, long timing) {\r
+               InnerEvent(TimelineEventHandler function, TimelineEvent event, long timing)\r
+               {\r
                        this.function = function;\r
                        this.event = event;\r
                        this.timing = timing;\r
                }\r
 \r
-               public long getTiming() {\r
+               public long getTiming()\r
+               {\r
                        return timing;\r
                }\r
 \r
-               public void run() {\r
+               public void run()\r
+               {\r
                        function.handle(event);\r
                }\r
 \r
                @Override\r
-               public String toString() {\r
+               public String toString()\r
+               {\r
                        return event.toString();\r
                }\r
        }\r
 \r
        @Override\r
-       public String toString() {\r
+       public String toString()\r
+       {\r
                return "simulation time: " + currentTime + ", " + events.toString();\r
        }\r
 \r
-       public static long toNanoseconds(long ticks) {\r
+       public static long toNanoseconds(long ticks)\r
+       {\r
                return ticks; // TODO: Alter this when it has been determined how ticks should relate to real time.\r
        }\r
 \r
-       public enum ExecutionResult {\r
+       public enum ExecutionResult\r
+       {\r
                NOTHING_DONE, DONE_IN_TIME, RAN_OUT_OF_TIME\r
        }\r
 }
\ No newline at end of file