diff --git a/java/src/org/openqa/selenium/bidi/browsingcontext/Locator.java b/java/src/org/openqa/selenium/bidi/browsingcontext/Locator.java index fabfc5abc5024..bc440e38d8988 100644 --- a/java/src/org/openqa/selenium/bidi/browsingcontext/Locator.java +++ b/java/src/org/openqa/selenium/bidi/browsingcontext/Locator.java @@ -22,6 +22,8 @@ import java.util.Optional; public class Locator { + final Map map = new HashMap<>(); + private enum Type { CSS("css"), INNER("innerText"), @@ -39,32 +41,22 @@ public String toString() { } } - private final Type type; - - private final String value; - - private Optional ignoreCase = Optional.empty(); - - private Optional matchType = Optional.empty(); - - private Optional maxDepth = Optional.empty(); - private Locator(Type type, String value) { - this.type = type; - this.value = value; + map.put("type", type.toString()); + map.put("value", value); } - public Locator( + private Locator( Type type, String value, Optional ignoreCase, Optional matchType, Optional maxDepth) { - this.type = type; - this.value = value; - this.ignoreCase = ignoreCase; - this.matchType = matchType; - this.maxDepth = maxDepth; + map.put("type", type.toString()); + map.put("value", value); + ignoreCase.ifPresent(val -> map.put("ignoreCase", val)); + matchType.ifPresent(val -> map.put("matchType", val)); + maxDepth.ifPresent(val -> map.put("maxDepth", val)); } public static Locator css(String value) { @@ -88,14 +80,6 @@ public static Locator xpath(String value) { } public Map toMap() { - final Map map = new HashMap<>(); - map.put("type", type.toString()); - map.put("value", value); - - ignoreCase.ifPresent(val -> map.put("ignoreCase", val)); - matchType.ifPresent(val -> map.put("matchType", val)); - maxDepth.ifPresent(val -> map.put("maxDepth", val)); - return map; } }