[LIB-13] Lazy scanners init, scan by URL and rename API functions
[chesshog-scanner.git] / src / main / java / org / hedgecode / chess / scanner / ScannerType.java
index f0a6495..306c316 100644 (file)
@@ -16,6 +16,8 @@
 
 package org.hedgecode.chess.scanner;
 
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
 /**
  * ScannerType
  *
@@ -23,22 +25,28 @@ package org.hedgecode.chess.scanner;
  */
 public enum ScannerType {
 
-    CHESSGAMES (ChessHogScannerConstants.PORTAL_CHESSGAMES),
-    LICHESS    (ChessHogScannerConstants.PORTAL_LICHESS),
-    CHESSBOMB  (ChessHogScannerConstants.PORTAL_CHESSBOMB),
-    CHESS24    (ChessHogScannerConstants.PORTAL_CHESS24),
-    CHESSCOM   (ChessHogScannerConstants.PORTAL_CHESSCOM);
+    CHESSGAMES ( TYPE_CHESSGAMES, DOMAIN_CHESSGAMES ),
+    LICHESS    ( TYPE_LICHESS,    DOMAIN_LICHESS    ),
+    CHESSBOMB  ( TYPE_CHESSBOMB,  DOMAIN_CHESSBOMB  ),
+    CHESS24    ( TYPE_CHESS24,    DOMAIN_CHESS24    ),
+    CHESSCOM   ( TYPE_CHESSCOM,   DOMAIN_CHESSCOM   );
 
     private String type;
+    private String domain;
 
-    ScannerType(String type) {
+    ScannerType(String type, String domain) {
         this.type = type;
+        this.domain = domain;
     }
 
     public String type() {
         return type;
     }
 
+    public String domain() {
+        return domain;
+    }
+
     public static ScannerType byType(String type) {
         for (ScannerType scannerType : ScannerType.values()) {
             if (scannerType.type.equals(type))
@@ -47,4 +55,14 @@ public enum ScannerType {
         return null;
     }
 
+    public static ScannerType byHost(String host) {
+        if (host != null) {
+            for (ScannerType scannerType : ScannerType.values()) {
+                if (host.contains(scannerType.domain))
+                    return scannerType;
+            }
+        }
+        return null;
+    }
+
 }