KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > genimen > djeneric > tools > scriptengine > core > nodes > ActionListNode


1 /*
2  * Copyright (c) 2001-2005 by Genimen BV (www.genimen.com) All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, is permitted provided that the following conditions are met: -
6  * Redistributions of source code must retain the above copyright notice, this
7  * list of conditions and the following disclaimer. - Redistributions in binary
8  * form must reproduce the above copyright notice, this list of conditions and
9  * the following disclaimer in the documentation and/or other materials
10  * provided with the distribution. - All advertising materials mentioning
11  * features or use of this software must display the following acknowledgment:
12  * "This product includes Djeneric." - Products derived from this software may
13  * not be called "Djeneric" nor may "Djeneric" appear in their names without
14  * prior written permission of Genimen BV. - Redistributions of any form
15  * whatsoever must retain the following acknowledgment: "This product includes
16  * Djeneric."
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL GENIMEN BV, DJENERIC.ORG, OR CONTRIBUTORS
22  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */

30 package com.genimen.djeneric.tools.scriptengine.core.nodes;
31
32 import java.util.ArrayList JavaDoc;
33
34 import com.genimen.djeneric.tools.scriptengine.core.DjScriptParserEngine;
35 import com.genimen.djeneric.tools.scriptengine.core.SimpleNode;
36 import com.genimen.djeneric.tools.scriptengine.core.util.DjScriptCompileTimeScope;
37 import com.genimen.djeneric.tools.scriptengine.core.util.DjScriptExecutionException;
38
39 public class ActionListNode extends SimpleNode
40 {
41
42   private ArrayList JavaDoc _rootActions = new ArrayList JavaDoc();
43
44   public ActionListNode(int i)
45   {
46     super(i);
47   }
48
49   public ActionListNode(DjScriptParserEngine p, int i)
50   {
51     super(p, i);
52   }
53
54   public void addRootAction(String JavaDoc actionName)
55   {
56     _rootActions.add(actionName);
57   }
58
59   public String JavaDoc getName()
60   {
61     return "actionlist";
62   }
63
64   public String JavaDoc toString()
65   {
66     StringBuffer JavaDoc result = new StringBuffer JavaDoc(100);
67     for (int i = 0; i < _rootActions.size(); i++)
68     {
69       if (i != 0) result.append(", ");
70       result.append(_rootActions.get(i).toString());
71     }
72
73     return result.toString();
74   }
75
76   public String JavaDoc getFirstActionName()
77   {
78     if (_rootActions.size() == 0) return null;
79     return _rootActions.get(0).toString();
80   }
81
82   public void validateScript(DjScriptCompileTimeScope ctxt) throws DjScriptExecutionException
83   {
84     for (int i = 0; i < _rootActions.size(); i++)
85     {
86       ctxt.getAction(_rootActions.get(i).toString(), this);
87     }
88     super.validateScript(ctxt);
89   }
90
91 }
Popular Tags