1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package Torello.Browser;

import static Torello.Java.C.BCYAN;
import static Torello.Java.C.RESET;

import java.util.Objects;

final class BCHelper
{
    static String toString(BrowserConn bc)
    {
        final String B = BCYAN, R = RESET;
    
        return "BrowserConn\n" +
        "{\n" +
            "    " + B + "browser:              " + R + ": " + bc.browser              + '\n' +
            "    " + B + "protocolVersion:      " + R + ": " + bc.protocolVersion      + '\n' +
            "    " + B + "userAgent:            " + R + ": " + bc.userAgent            + '\n' +
            "    " + B + "v8Version:            " + R + ": " + bc.v8Version            + '\n' +
            "    " + B + "webkitVersion:        " + R + ": " + bc.webkitVersion        + '\n' +
            "    " + B + "webSocketDebuggerUrl: " + R + ": " + bc.webSocketDebuggerUrl + '\n' +
        "}";
    }

    static boolean equals(BrowserConn a, Object o)
    {
        if (a == o)                         return true;
        if (!(o instanceof BrowserConn))    return false;
    
        final BrowserConn b = (BrowserConn) o;
    
        return java.util.Objects.equals(a.browser,               b.browser)
            && java.util.Objects.equals(a.protocolVersion,       b.protocolVersion)
            && java.util.Objects.equals(a.userAgent,             b.userAgent)
            && java.util.Objects.equals(a.v8Version,             b.v8Version)
            && java.util.Objects.equals(a.webkitVersion,         b.webkitVersion)
            && java.util.Objects.equals(a.webSocketDebuggerUrl,  b.webSocketDebuggerUrl);
    }
    
    static int hashCode(BrowserConn bc)
    {
        int result = bc.browser.hashCode();
        result = 31 * result + bc.protocolVersion.hashCode();
        result = 31 * result + bc.userAgent.hashCode();
        result = 31 * result + bc.v8Version.hashCode();
        result = 31 * result + bc.webkitVersion.hashCode();
        result = 31 * result + bc.webSocketDebuggerUrl.hashCode();
        return result;
    }

    static BrowserConn clone(BrowserConn bc)
    {
        return new BrowserConn(
            bc.browser,
            bc.protocolVersion,
            bc.userAgent,
            bc.v8Version,
            bc.webkitVersion,
            bc.webSocketDebuggerUrl
        );
    }
}