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; } } |