1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.millscript.millscript.loaders;
22
23 import org.millscript.commons.xml.api.Name;
24 import org.millscript.commons.xml.tokenizer.NoNamespacesName;
25
26 /**
27 * This class compiles an item element in a MillScript XHTML template. An item
28 * element is called <code>item</code> and has a single attribute called
29 * <code>val</code>.
30 */
31 public class ItemName implements SpecialTemplateName {
32
33 /**
34 * This name is used to obtain the value of the val attribute of the item
35 * element.
36 */
37 private static final Name ITEM_VAL_ARG = new NoNamespacesName( "val" );
38
39 /**
40 * The loader we will insert our expressions into.
41 */
42 private final BasicTemplateLoader basicTemplateLoader;
43
44 /**
45 * Constructs a new item element handler, to insert expressions for the
46 * current element into the specified loader.
47 *
48 * @param btl the loader to insert expressions into
49 */
50 public ItemName( final BasicTemplateLoader btl ) {
51 this.basicTemplateLoader = btl;
52 }
53
54 /**
55 * @see org.millscript.millscript.loaders.SpecialTemplateName#handle()
56 */
57 public void handle() {
58
59
60 this.basicTemplateLoader.tokenVisitor.parentTokenVisitor.pushChildElement(
61 this.basicTemplateLoader.compSpecialString(
62 this.basicTemplateLoader.tokenVisitor.startTagToken.getAttributes().get( ITEM_VAL_ARG )
63 )
64 );
65 }
66
67 }