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
package Torello.Browser.JsonAST;

import Torello.Browser.BrowserEvent;

/**
 * This {@code 'enum'} is used to identify of what kind of {@link TCE} instance {@code 'this'}
 * is.  A {@link TCE} may represet a Chrome Dev-Tools Protocol {@link #Type}, {@link #Command} or
 *  {@link #Event}.
 * 
 * <BR /><BR />An Enumerated Constant Design Pattern was chosen of building actual subclasses of 
 * {@code TCE} since such a sub-class {@code "Type"} or {@code "Command"} would not have been
 * able to add any methods or fields to the sub-class.  Instead, class {@code TCE} simply contains
 * one of these three constants among its constant fields list to identify what kind of instance
 * it belongs to.
 */
public enum WhichTCE
{
    /**
     * This constant may be used to indicate that {@code 'this'} {@link TCE} instance represents a
     * <B>'Type'</B>.  Type-{@code TCE's} are converted into Static Nested-Classes in this Java 
     * implementation of the Chrome Dev-Tools Protocol.
     */
    Type,

    /**
     * This constant may be used to indicate that {@code 'this'} {@link TCE} instance represents a
     * <B>'Command'</B>.  Command-{@code TCE's} are converted into methods in this Java
     * implementation of the Chrome Dev-Tools Protocol.
     */
    Command,

    /**
     * This constant may be used to indicate that {@code 'this'} {@link TCE} instance represents a
     * <B>'Type'</B>.  Type-{@code TCE's} are converted into Static Nested-Classes which inherit 
     * the {@link BrowserEvent} interface in this Java implementation of the Chrome Dev-Tools
     * Protocol.
     */
    Event;
}