Migration to maven almost complete. At least everything builds and works
[utils] / crawler / kiss / src / main / java / org / wamblee / crawler / kiss / main / SystemProperties.java
diff --git a/crawler/kiss/src/main/java/org/wamblee/crawler/kiss/main/SystemProperties.java b/crawler/kiss/src/main/java/org/wamblee/crawler/kiss/main/SystemProperties.java
new file mode 100644 (file)
index 0000000..87003af
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2005 the original author or authors.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wamblee.crawler.kiss.main;
+
+/**
+ * Access to system properties for the crawler.
+ */
+public final class SystemProperties {
+
+    private static final String DEBUG_PROPERTY = "kiss.debug";
+
+    private static final String NO_PROGRAM_DETAILS = "kiss.nodetails";
+
+    private static final String DISABLE_RECORD = "kiss.norecord";
+
+    /**
+     * Disabled constructor.
+     * 
+     */
+    private SystemProperties() {
+        // Empty.
+    }
+
+    /**
+     * Determines if the system is run in debug mode. When in debug mode, less
+     * extensive crawling is done.
+     * 
+     * @return True iff we are running in debug mode.
+     */
+    public static boolean isDebugMode() {
+        return System.getProperties().getProperty(DEBUG_PROPERTY) != null;
+    }
+
+    /**
+     * Determines if no program details are required.
+     * 
+     * @return True iff no program details are required.
+     */
+    public static boolean isNoProgramDetailsRequired() {
+        return System.getProperties().getProperty(NO_PROGRAM_DETAILS) != null;
+    }
+
+    /**
+     * Determines if recording is disabled.
+     * 
+     * @return True iff no recording should be done.
+     */
+    public static boolean isRecordDisabled() {
+        return System.getProperties().getProperty(DISABLE_RECORD) != null;
+    }
+
+}