summaryrefslogtreecommitdiff
path: root/src/main/java/constants/VSConstants.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/constants/VSConstants.java')
-rw-r--r--src/main/java/constants/VSConstants.java75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/main/java/constants/VSConstants.java b/src/main/java/constants/VSConstants.java
new file mode 100644
index 0000000..17f6770
--- /dev/null
+++ b/src/main/java/constants/VSConstants.java
@@ -0,0 +1,75 @@
+package constants;
+
+/**
+ * Central location for constants used throughout the DS-Sim application.
+ * This class contains configuration values, limits, and other magic numbers
+ * that were previously scattered throughout the codebase.
+ *
+ * @author Paul C. Buetow
+ */
+public final class VSConstants {
+
+ // Prevent instantiation
+ private VSConstants() {}
+
+ /** Process configuration constants */
+ public static final int MIN_PROCESSES = 1;
+ public static final int MAX_PROCESSES = 6;
+ public static final int DEFAULT_PROCESSES = 3;
+
+ /** Percentage calculation */
+ public static final int PERCENTAGE_RANGE = 101;
+
+ /** Message timing constants (in milliseconds) */
+ public static final long DEFAULT_MIN_MESSAGE_TIME = 500;
+ public static final long DEFAULT_MAX_MESSAGE_TIME = 2000;
+
+ /** Simulation duration constants (in seconds) */
+ public static final int DEFAULT_SIMULATION_DURATION = 15;
+ public static final int MIN_SIMULATION_DURATION = 5;
+ public static final int MAX_SIMULATION_DURATION = 120;
+
+ /** Window size defaults */
+ public static final class WindowDefaults {
+ public static final int PREFS_WINDOW_WIDTH = 400;
+ public static final int PREFS_WINDOW_HEIGHT = 400;
+ public static final int LOG_WINDOW_HEIGHT = 300;
+ public static final int SPLIT_PANE_WIDTH = 320;
+ public static final int MAIN_WINDOW_WIDTH = 1024;
+ public static final int MAIN_WINDOW_HEIGHT = 768;
+
+ // Window positioning
+ public static final int X_LOCATION_OFFSET = 40;
+ public static final int Y_LOCATION_OFFSET = 80;
+ public static final int DEFAULT_Y_POSITION = 50;
+ }
+
+ /** UI Layout constants */
+ public static final class UILayout {
+ public static final int SPLITPANE_OFFSET = 20;
+ public static final int TIME_COLUMN_WIDTH = 62;
+ public static final int PID_COLUMN_WIDTH = 40;
+ public static final String DEFAULT_TIME_TEXT = "0000";
+ }
+
+ /** Splash screen constants */
+ public static final class SplashScreen {
+ public static final int DISPLAY_TIME = 3000; // 3 seconds
+ public static final double SPLASH_SCALE_FACTOR = 0.4;
+ public static final int FALLBACK_WIDTH = 300;
+ public static final int FALLBACK_HEIGHT = 100;
+ }
+
+ /** Language key prefixes */
+ public static final class LangKeys {
+ public static final String TASK_PREFIX = "lang.task";
+ public static final String PROCESS_PREFIX = "lang.process";
+ public static final String EVENTS_PREFIX = "lang.events";
+ public static final String PROTOCOL_PREFIX = "lang.protocol";
+ public static final String SERVER_PREFIX = "lang.server";
+ public static final String CLIENT_PREFIX = "lang.client";
+ }
+
+ /** Timestamp monitoring defaults */
+ public static final long DEFAULT_MONITOR_INTERVAL = 1;
+} \ No newline at end of file