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
63
64
65
66
67
68
69
70
71
package Torello.CSS;

import java.util.Vector;
import java.util.function.Consumer;

import Torello.CSS.TokenizeException;

@Torello.JavaDoc.JDHeaderBackgroundImg(EmbedTagFileID="CSS_TOK")
public class Delimiter extends CSSToken
    implements CharSequence, java.io.Serializable, Comparable<CharSequence>
{
    /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
    protected static final long serialVersionUID = 1;


    // ********************************************************************************************
    // ********************************************************************************************
    // Public & Final Fields
    // ********************************************************************************************
    // ********************************************************************************************


    /** The Character represented by this {@code Delimiter}-Token */
    public final char c;


    // ********************************************************************************************
    // ********************************************************************************************
    // Private Constructor, API "is" and "if" Methods
    // ********************************************************************************************
    // ********************************************************************************************


    Delimiter(final int[] css, final int sPos)
    {
        super(css, sPos, sPos + 1);

        final int   codePoint   = css[sPos];
        final char  codePointCh = (char) codePoint;

        this.c = (codePoint == codePointCh) ? codePointCh : 0;
    }

    @Override 
    public final boolean isDelimiter() { return true; }

    @Override
    public final Delimiter ifDelimiter() { return this; }


    // ********************************************************************************************
    // ********************************************************************************************
    // User's Constructor: An actual constructor :)
    // ********************************************************************************************
    // ********************************************************************************************


    /**
     * 
     * @param c Any Java Character.
     */
    public Delimiter(char c)
    {
        super("" + c);

        if (! Whitespace.is(c)) throw new TokenizeException
            ("Character passed is whitespace (ASCII #" + ((int) c) + ")");

        this.c = c;
    }
}