read file associations from configuration
[instantlauncher.git] / src / main / java / eu / svjatoslav / instantlauncher / configuration / FileAssociation.java
index dc3b5a7..e21a495 100644 (file)
@@ -1,5 +1,9 @@
 package eu.svjatoslav.instantlauncher.configuration;
 
+import java.io.File;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 public class FileAssociation implements Comparable<FileAssociation> {
     public String fileRegex;
     public String command;
@@ -16,4 +20,16 @@ public class FileAssociation implements Comparable<FileAssociation> {
     public int compareTo(FileAssociation o) {
         return fileRegex.compareTo(o.fileRegex);
     }
+
+    public boolean matchesFile(File file) {
+        String absolutePath = file.getAbsolutePath();
+
+        Pattern pattern = Pattern.compile(fileRegex);
+        Matcher matcher = pattern.matcher(absolutePath);
+        return matcher.matches();
+    }
+
+    public String[] getCommands() {
+        return command.split("\\s+");
+    }
 }