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 | package Torello.CSS;
import java.util.Vector;
@Torello.JavaDoc.JDHeaderBackgroundImg(EmbedTagFileID="CSS_TOK")
public class Func extends Identifier
implements CharSequence, java.io.Serializable, Comparable<CharSequence>
{
/** <EMBED CLASS='external-html' DATA-FILE-ID=SVUID> */
protected static final long serialVersionUID = 1;
// ********************************************************************************************
// ********************************************************************************************
// Private Constructor, API "is" and "if" Methods
// ********************************************************************************************
// ********************************************************************************************
Func(
final int[] css,
final int sPos,
final int ePos,
final String functionName
)
{ super(css, sPos, ePos, functionName); }
@Override
public final boolean isFunc() { return true; }
@Override
public final Func ifFunc() { return this; }
// ********************************************************************************************
// ********************************************************************************************
// User's Constructor: a static "build" method
// ********************************************************************************************
// ********************************************************************************************
/**
* <EMBED CLASS=defs DATA-TOK=Func DATA-P=funcIdentifier>
* <EMBED CLASS='external-html' DATA-FILE-ID=BUILD_DESC>
* @param funcIdentifier <EMBED CLASS='external-html' DATA-FILE-ID=BUILD_PARAM>
* @return <EMBED CLASS='external-html' DATA-FILE-ID=BUILD_RET>
* @throws TokenizeException <EMBED CLASS='external-html' DATA-FILE-ID=BUILD_TOK_EX>
*/
@SuppressWarnings("unchecked")
public static Func build(final String funcIdentifier)
{
return (Func) CSSToken.build
(funcIdentifier, INPUT_CHECKER, Identifier::consumeIdentLikeSequence);
}
private static final CSSToken.InputChecker INPUT_CHECKER = (int[] css) ->
{
if (css.length < 2) throw new TokenizeException(Func.class);
if (css[css.length - 1] != '(') throw new TokenizeException
("Input String does not end with a Left-Parenthesis");
if (! Identifier.startsIdentSequence(css, 0)) throw new TokenizeException
("String-text beginning does not constitute a valid CSS Function-Token");
};
}
|