Modernized syntax to java 8.
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / string / tokenizer / Tokenizer.java
index ba1590d..c4ca4d2 100755 (executable)
@@ -12,6 +12,7 @@ package eu.svjatoslav.commons.string.tokenizer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Stack;
+import java.util.stream.Stream;
 
 import static eu.svjatoslav.commons.string.tokenizer.Terminator.TerminationStrategy.DROP;
 
@@ -46,7 +47,7 @@ public class Tokenizer {
         return this;
     }
 
-    public void expectNextToken(final String value)
+    public void expectAndConsumeNextToken(final String value)
             throws InvalidSyntaxException {
         final TokenizerMatch match = getNextToken();
         if (!value.equals(match.token))
@@ -110,14 +111,14 @@ public class Tokenizer {
         return result;
     }
 
-    public boolean peekIsOneOf(String [] ... possibilities){
-        TokenizerMatch nextToken = peekNextToken();
-
-        for (String[] possibility : possibilities)
-            if (possibility.equals(nextToken))
-                return true;
+    public boolean peekIsOneOf(String ... possibilities){
+        String nextToken = peekNextToken().token;
+        return Stream.of(possibilities).anyMatch(possibility -> possibility.equals(nextToken));
+    }
 
-        return false;
+    public void peekExpectNoneOf(String ... possibilities) throws InvalidSyntaxException {
+        if (peekIsOneOf(possibilities))
+            throw new InvalidSyntaxException("Not expected \"" + peekNextToken().token + "\" here.");
     }