Skip to content

Commit 176abc5

Browse files
committed
[java][bidi] Add helper methods in local value
1 parent 7c8f86f commit 176abc5

File tree

10 files changed

+656
-74
lines changed

10 files changed

+656
-74
lines changed

java/src/org/openqa/selenium/bidi/script/ArrayLocalValue.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
import java.util.List;
2020
import java.util.Map;
2121

22-
public class ArrayLocalValue extends LocalValue {
22+
class ArrayLocalValue extends LocalValue {
2323

2424
private final List<LocalValue> value;
2525

26-
public ArrayLocalValue(List<LocalValue> value) {
26+
ArrayLocalValue(List<LocalValue> value) {
2727
this.value = value;
2828
}
2929

java/src/org/openqa/selenium/bidi/script/ChannelValue.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,28 @@
2020
import java.util.Map;
2121
import java.util.TreeMap;
2222

23-
public class ChannelValue extends LocalValue {
23+
class ChannelValue extends LocalValue {
2424

2525
private final String channelId;
2626
private SerializationOptions options;
2727

2828
private ResultOwnership resultOwnership;
2929

30-
public ChannelValue(String channelId) {
30+
ChannelValue(String channelId) {
3131
this.channelId = channelId;
3232
}
3333

34-
public ChannelValue(String channelId, SerializationOptions options) {
34+
ChannelValue(String channelId, SerializationOptions options) {
3535
this.channelId = channelId;
3636
this.options = options;
3737
}
3838

39-
public ChannelValue(String channelId, ResultOwnership resultOwnership) {
39+
ChannelValue(String channelId, ResultOwnership resultOwnership) {
4040
this.channelId = channelId;
4141
this.resultOwnership = resultOwnership;
4242
}
4343

44-
public ChannelValue(
45-
String channelId, SerializationOptions options, ResultOwnership resultOwnership) {
44+
ChannelValue(String channelId, SerializationOptions options, ResultOwnership resultOwnership) {
4645
this.channelId = channelId;
4746
this.options = options;
4847
this.resultOwnership = resultOwnership;

java/src/org/openqa/selenium/bidi/script/DateLocalValue.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818

1919
import java.util.Map;
2020

21-
public class DateLocalValue extends LocalValue {
21+
class DateLocalValue extends LocalValue {
2222

2323
private final String value;
2424

25-
public DateLocalValue(String value) {
25+
DateLocalValue(String value) {
2626
this.value = value;
2727
}
2828

java/src/org/openqa/selenium/bidi/script/LocalValue.java

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,110 @@
1616
// under the License
1717
package org.openqa.selenium.bidi.script;
1818

19+
import java.util.List;
1920
import java.util.Map;
21+
import java.util.Set;
2022

2123
public abstract class LocalValue {
24+
25+
enum SpecialNumberType {
26+
NAN("NaN"),
27+
MINUS_ZERO("-0"),
28+
INFINITY("Infinity"),
29+
MINUS_INFINITY("-Infinity");
30+
31+
private final String type;
32+
33+
SpecialNumberType(String type) {
34+
this.type = type;
35+
}
36+
37+
@Override
38+
public String toString() {
39+
return type;
40+
}
41+
}
42+
2243
public abstract Map<String, Object> toJson();
44+
45+
public static LocalValue stringValue(String value) {
46+
return new PrimitiveProtocolValue(PrimitiveType.STRING, value);
47+
}
48+
49+
public static LocalValue numberValue(long value) {
50+
return new PrimitiveProtocolValue(PrimitiveType.NUMBER, value);
51+
}
52+
53+
public static LocalValue numberValue(double value) {
54+
return new PrimitiveProtocolValue(PrimitiveType.NUMBER, value);
55+
}
56+
57+
public static LocalValue numberValue(PrimitiveProtocolValue.SpecialNumberType specialNumber) {
58+
return new PrimitiveProtocolValue(PrimitiveType.SPECIAL_NUMBER, specialNumber.toString());
59+
}
60+
61+
public static LocalValue undefinedValue() {
62+
return new PrimitiveProtocolValue(PrimitiveType.UNDEFINED);
63+
}
64+
65+
public static LocalValue nullValue() {
66+
return new PrimitiveProtocolValue(PrimitiveType.NULL);
67+
}
68+
69+
public static LocalValue booleanValue(boolean value) {
70+
return new PrimitiveProtocolValue(PrimitiveType.BOOLEAN, value);
71+
}
72+
73+
public static LocalValue bigIntValue(String value) {
74+
return new PrimitiveProtocolValue(PrimitiveType.BIGINT, value);
75+
}
76+
77+
public static LocalValue arrayValue(List<LocalValue> value) {
78+
return new ArrayLocalValue(value);
79+
}
80+
81+
public static LocalValue dateValue(String value) {
82+
return new DateLocalValue(value);
83+
}
84+
85+
public static LocalValue mapValue(Map<Object, LocalValue> value) {
86+
return new MapLocalValue(value);
87+
}
88+
89+
public static LocalValue objectValue(Map<Object, LocalValue> value) {
90+
return new ObjectLocalValue(value);
91+
}
92+
93+
public static LocalValue regExpValue(String pattern) {
94+
return new RegExpValue(pattern);
95+
}
96+
97+
public static LocalValue regExpValue(String pattern, String flags) {
98+
return new RegExpValue(pattern, flags);
99+
}
100+
101+
public static LocalValue setValue(Set<LocalValue> value) {
102+
return new SetLocalValue(value);
103+
}
104+
105+
public static LocalValue channelValue(String channelId) {
106+
return new ChannelValue(channelId);
107+
}
108+
109+
public static LocalValue channelValue(String channelId, SerializationOptions options) {
110+
return new ChannelValue(channelId, options);
111+
}
112+
113+
public static LocalValue channelValue(
114+
String channelId, SerializationOptions options, ResultOwnership resultOwnership) {
115+
return new ChannelValue(channelId, options, resultOwnership);
116+
}
117+
118+
public static LocalValue remoteReference(String handle, String sharedId) {
119+
return new RemoteReference(handle, sharedId);
120+
}
121+
122+
public static LocalValue remoteReference(RemoteReference.Type type, String id) {
123+
return new RemoteReference(type, id);
124+
}
23125
}

java/src/org/openqa/selenium/bidi/script/MapLocalValue.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
import java.util.List;
2121
import java.util.Map;
2222

23-
public class MapLocalValue extends LocalValue {
23+
class MapLocalValue extends LocalValue {
2424

2525
private final Map<Object, LocalValue> map;
2626

27-
public MapLocalValue(Map<Object, LocalValue> map) {
27+
MapLocalValue(Map<Object, LocalValue> map) {
2828
this.map = map;
2929
}
3030

java/src/org/openqa/selenium/bidi/script/ObjectLocalValue.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
import java.util.List;
2121
import java.util.Map;
2222

23-
public class ObjectLocalValue extends LocalValue {
23+
class ObjectLocalValue extends LocalValue {
2424

2525
private final Map<Object, LocalValue> map;
2626

27-
public ObjectLocalValue(Map<Object, LocalValue> map) {
27+
ObjectLocalValue(Map<Object, LocalValue> map) {
2828
this.map = map;
2929
}
3030

java/src/org/openqa/selenium/bidi/script/PrimitiveProtocolValue.java

Lines changed: 3 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -22,74 +22,24 @@
2222
import java.util.TreeMap;
2323
import org.openqa.selenium.internal.Require;
2424

25-
public class PrimitiveProtocolValue extends LocalValue {
26-
27-
public enum SpecialNumberType {
28-
NAN("NaN"),
29-
MINUS_ZERO("-0"),
30-
INFINITY("Infinity"),
31-
MINUS_INFINITY("-Infinity");
32-
33-
private final String type;
34-
35-
SpecialNumberType(String type) {
36-
this.type = type;
37-
}
38-
39-
@Override
40-
public String toString() {
41-
return type;
42-
}
43-
}
25+
class PrimitiveProtocolValue extends LocalValue {
4426

4527
private final PrimitiveType type;
4628
private Object value;
4729

48-
private PrimitiveProtocolValue(PrimitiveType type, Object value) {
30+
PrimitiveProtocolValue(PrimitiveType type, Object value) {
4931
this.type = type;
5032
this.value = value;
5133
}
5234

53-
private PrimitiveProtocolValue(PrimitiveType type) {
35+
PrimitiveProtocolValue(PrimitiveType type) {
5436
Require.precondition(
5537
type.equals(PrimitiveType.UNDEFINED) || type.equals(PrimitiveType.NULL),
5638
"Only null and defined do not require values. "
5739
+ "Rest all type require a corresponding value.");
5840
this.type = type;
5941
}
6042

61-
public static LocalValue stringValue(String value) {
62-
return new PrimitiveProtocolValue(PrimitiveType.STRING, value);
63-
}
64-
65-
public static LocalValue numberValue(long value) {
66-
return new PrimitiveProtocolValue(PrimitiveType.NUMBER, value);
67-
}
68-
69-
public static LocalValue numberValue(double value) {
70-
return new PrimitiveProtocolValue(PrimitiveType.NUMBER, value);
71-
}
72-
73-
public static LocalValue numberValue(SpecialNumberType specialNumber) {
74-
return new PrimitiveProtocolValue(PrimitiveType.SPECIAL_NUMBER, specialNumber.toString());
75-
}
76-
77-
public static LocalValue undefinedValue() {
78-
return new PrimitiveProtocolValue(PrimitiveType.UNDEFINED);
79-
}
80-
81-
public static LocalValue nullValue() {
82-
return new PrimitiveProtocolValue(PrimitiveType.NULL);
83-
}
84-
85-
public static LocalValue booleanValue(boolean value) {
86-
return new PrimitiveProtocolValue(PrimitiveType.BOOLEAN, value);
87-
}
88-
89-
public static LocalValue bigIntValue(String value) {
90-
return new PrimitiveProtocolValue(PrimitiveType.BIGINT, value);
91-
}
92-
9343
@Override
9444
public Map<String, Object> toJson() {
9545
Map<String, Object> toReturn = new TreeMap<>();

java/src/org/openqa/selenium/bidi/script/RemoteReference.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package org.openqa.selenium.bidi.script;
22

33
import static java.util.Collections.unmodifiableMap;
4-
import static org.openqa.selenium.bidi.script.RemoteReference.RemoteReferenceType.HANDLE;
5-
import static org.openqa.selenium.bidi.script.RemoteReference.RemoteReferenceType.SHARED_ID;
4+
import static org.openqa.selenium.bidi.script.RemoteReference.Type.HANDLE;
5+
import static org.openqa.selenium.bidi.script.RemoteReference.Type.SHARED_ID;
66

77
import java.util.Map;
88
import java.util.TreeMap;
99

1010
public class RemoteReference extends LocalValue {
11-
public enum RemoteReferenceType {
11+
public enum Type {
1212
HANDLE("handle"),
1313
SHARED_ID("sharedId");
1414

1515
private final String type;
1616

17-
RemoteReferenceType(String type) {
17+
Type(String type) {
1818
this.type = type;
1919
}
2020

@@ -32,7 +32,7 @@ public RemoteReference(String handle, String sharedId) {
3232
this.sharedId = sharedId;
3333
}
3434

35-
public RemoteReference(RemoteReferenceType type, String value) {
35+
public RemoteReference(Type type, String value) {
3636
if (HANDLE.equals(type)) {
3737
this.handle = value;
3838
} else {

java/src/org/openqa/selenium/bidi/script/SetLocalValue.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
import java.util.Map;
2020
import java.util.Set;
2121

22-
public class SetLocalValue extends LocalValue {
22+
class SetLocalValue extends LocalValue {
2323

2424
private final Set<LocalValue> value;
2525

26-
public SetLocalValue(Set<LocalValue> value) {
26+
SetLocalValue(Set<LocalValue> value) {
2727
this.value = value;
2828
}
2929

0 commit comments

Comments
 (0)