1/* This file was generated by SableCC (http://www.sablecc.org/). */
2
3package com.google.clearsilver.jsilver.syntax.node;
4
5import com.google.clearsilver.jsilver.syntax.analysis.*;
6
7@SuppressWarnings("nls")
8public final class ADataCommand extends PCommand
9{
10    private TData _data_;
11
12    public ADataCommand()
13    {
14        // Constructor
15    }
16
17    public ADataCommand(
18        @SuppressWarnings("hiding") TData _data_)
19    {
20        // Constructor
21        setData(_data_);
22
23    }
24
25    @Override
26    public Object clone()
27    {
28        return new ADataCommand(
29            cloneNode(this._data_));
30    }
31
32    public void apply(Switch sw)
33    {
34        ((Analysis) sw).caseADataCommand(this);
35    }
36
37    public TData getData()
38    {
39        return this._data_;
40    }
41
42    public void setData(TData node)
43    {
44        if(this._data_ != null)
45        {
46            this._data_.parent(null);
47        }
48
49        if(node != null)
50        {
51            if(node.parent() != null)
52            {
53                node.parent().removeChild(node);
54            }
55
56            node.parent(this);
57        }
58
59        this._data_ = node;
60    }
61
62    @Override
63    public String toString()
64    {
65        return ""
66            + toString(this._data_);
67    }
68
69    @Override
70    void removeChild(@SuppressWarnings("unused") Node child)
71    {
72        // Remove child
73        if(this._data_ == child)
74        {
75            this._data_ = null;
76            return;
77        }
78
79        throw new RuntimeException("Not a child.");
80    }
81
82    @Override
83    void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
84    {
85        // Replace child
86        if(this._data_ == oldChild)
87        {
88            setData((TData) newChild);
89            return;
90        }
91
92        throw new RuntimeException("Not a child.");
93    }
94}
95