Code formatting.
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / string / tokenizer / Terminator.java
index fa07a5b..0c42a74 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * Svjatoslav Commons - shared library of common functionality.
  * Copyright ©2012-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of version 3 of the GNU Lesser General Public License
  * or later as published by the Free Software Foundation.
@@ -27,9 +27,21 @@ public class Terminator {
         this.termination = termination;
     }
 
-    public enum TerminationStrategy {
-        PRESERVE,
-        DROP
+    public boolean matches(String source, int index) {
+        // boundary check
+        if (source.length() < (index + startSequence.length()))
+            return false;
+
+        // match check
+        for (int i = 0; i < startSequence.length(); i++)
+            if (startSequence.charAt(i) != source.charAt(index + i))
+                return false;
+
+        return true;
+    }
+
+    public boolean hasEndSequence() {
+        return endSequence != null;
     }
 
     @Override
@@ -40,4 +52,9 @@ public class Terminator {
                 ", termination=" + termination +
                 '}';
     }
+
+    public enum TerminationStrategy {
+        PRESERVE,
+        DROP
+    }
 }