Skip to content

Commit aa2d8a8

Browse files
committed
Add Proxy.toString, equals and hashCode
1 parent d0c298d commit aa2d8a8

1 file changed

Lines changed: 78 additions & 0 deletions

File tree

java/client/src/org/openqa/selenium/Proxy.java

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import java.util.HashMap;
2121
import java.util.Map;
22+
import java.util.Objects;
2223

2324
/**
2425
* Configuration parameters for using proxies in WebDriver. Generally you should pass an object of
@@ -381,4 +382,81 @@ public static Proxy extractFrom(Capabilities capabilities) {
381382
}
382383
return proxy;
383384
}
385+
386+
@Override
387+
public String toString() {
388+
StringBuilder builder = new StringBuilder("Proxy(");
389+
390+
switch (getProxyType()) {
391+
case AUTODETECT:
392+
case DIRECT:
393+
case MANUAL:
394+
case SYSTEM:
395+
builder.append(getProxyType().toString().toLowerCase());
396+
break;
397+
398+
case PAC:
399+
builder.append("pac: ").append(getProxyAutoconfigUrl());
400+
break;
401+
402+
case UNSPECIFIED:
403+
break;
404+
}
405+
406+
String p = getFtpProxy();
407+
if (p != null) {
408+
builder.append(", ftp=").append(p);
409+
}
410+
p = getHttpProxy();
411+
if (p != null) {
412+
builder.append(", http=").append(p);
413+
}
414+
p = getSocksProxy();
415+
if (p != null) {
416+
builder.append(", socks=").append(p);
417+
}
418+
p = getSslProxy();
419+
if (p != null) {
420+
builder.append(", ssl=").append(p);
421+
}
422+
423+
builder.append(")");
424+
return builder.toString();
425+
}
426+
427+
@Override
428+
public boolean equals(Object o) {
429+
if (this == o) {
430+
return true;
431+
}
432+
if (o == null || getClass() != o.getClass()) {
433+
return false;
434+
}
435+
Proxy proxy = (Proxy) o;
436+
return isAutodetect() == proxy.isAutodetect() &&
437+
getProxyType() == proxy.getProxyType() &&
438+
Objects.equals(getFtpProxy(), proxy.getFtpProxy()) &&
439+
Objects.equals(getHttpProxy(), proxy.getHttpProxy()) &&
440+
Objects.equals(getNoProxy(), proxy.getNoProxy()) &&
441+
Objects.equals(getSslProxy(), proxy.getSslProxy()) &&
442+
Objects.equals(getSocksProxy(), proxy.getSocksProxy()) &&
443+
Objects.equals(getSocksUsername(), proxy.getSocksUsername()) &&
444+
Objects.equals(getSocksPassword(), proxy.getSocksPassword()) &&
445+
Objects.equals(getProxyAutoconfigUrl(), proxy.getProxyAutoconfigUrl());
446+
}
447+
448+
@Override
449+
public int hashCode() {
450+
return Objects.hash(
451+
getProxyType(),
452+
isAutodetect(),
453+
getFtpProxy(),
454+
getHttpProxy(),
455+
getNoProxy(),
456+
getSslProxy(),
457+
getSocksProxy(),
458+
getSocksUsername(),
459+
getSocksPassword(),
460+
getProxyAutoconfigUrl());
461+
}
384462
}

0 commit comments

Comments
 (0)