00001 package edu.ksu.cis.bandera.specification.pattern.node;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 import java.util.*;
00039 import edu.ksu.cis.bandera.specification.pattern.analysis.*;
00040
00041 public final class AParamResource extends PResource
00042 {
00043 private TId _id_;
00044 private TEqual _equal_;
00045 private TLBrace _lBrace_;
00046 private PIds _ids_;
00047 private TRBrace _rBrace_;
00048
00049 public AParamResource()
00050 {
00051 }
00052 public AParamResource(
00053 TId _id_,
00054 TEqual _equal_,
00055 TLBrace _lBrace_,
00056 PIds _ids_,
00057 TRBrace _rBrace_)
00058 {
00059 setId(_id_);
00060
00061 setEqual(_equal_);
00062
00063 setLBrace(_lBrace_);
00064
00065 setIds(_ids_);
00066
00067 setRBrace(_rBrace_);
00068
00069 }
00070 public void apply(Switch sw)
00071 {
00072 ((Analysis) sw).caseAParamResource(this);
00073 }
00074 public Object clone()
00075 {
00076 return new AParamResource(
00077 (TId) cloneNode(_id_),
00078 (TEqual) cloneNode(_equal_),
00079 (TLBrace) cloneNode(_lBrace_),
00080 (PIds) cloneNode(_ids_),
00081 (TRBrace) cloneNode(_rBrace_));
00082 }
00083 public TEqual getEqual()
00084 {
00085 return _equal_;
00086 }
00087 public TId getId()
00088 {
00089 return _id_;
00090 }
00091 public PIds getIds()
00092 {
00093 return _ids_;
00094 }
00095 public TLBrace getLBrace()
00096 {
00097 return _lBrace_;
00098 }
00099 public TRBrace getRBrace()
00100 {
00101 return _rBrace_;
00102 }
00103 void removeChild(Node child)
00104 {
00105 if(_id_ == child)
00106 {
00107 _id_ = null;
00108 return;
00109 }
00110
00111 if(_equal_ == child)
00112 {
00113 _equal_ = null;
00114 return;
00115 }
00116
00117 if(_lBrace_ == child)
00118 {
00119 _lBrace_ = null;
00120 return;
00121 }
00122
00123 if(_ids_ == child)
00124 {
00125 _ids_ = null;
00126 return;
00127 }
00128
00129 if(_rBrace_ == child)
00130 {
00131 _rBrace_ = null;
00132 return;
00133 }
00134
00135 }
00136 void replaceChild(Node oldChild, Node newChild)
00137 {
00138 if(_id_ == oldChild)
00139 {
00140 setId((TId) newChild);
00141 return;
00142 }
00143
00144 if(_equal_ == oldChild)
00145 {
00146 setEqual((TEqual) newChild);
00147 return;
00148 }
00149
00150 if(_lBrace_ == oldChild)
00151 {
00152 setLBrace((TLBrace) newChild);
00153 return;
00154 }
00155
00156 if(_ids_ == oldChild)
00157 {
00158 setIds((PIds) newChild);
00159 return;
00160 }
00161
00162 if(_rBrace_ == oldChild)
00163 {
00164 setRBrace((TRBrace) newChild);
00165 return;
00166 }
00167
00168 }
00169 public void setEqual(TEqual node)
00170 {
00171 if(_equal_ != null)
00172 {
00173 _equal_.parent(null);
00174 }
00175
00176 if(node != null)
00177 {
00178 if(node.parent() != null)
00179 {
00180 node.parent().removeChild(node);
00181 }
00182
00183 node.parent(this);
00184 }
00185
00186 _equal_ = node;
00187 }
00188 public void setId(TId node)
00189 {
00190 if(_id_ != null)
00191 {
00192 _id_.parent(null);
00193 }
00194
00195 if(node != null)
00196 {
00197 if(node.parent() != null)
00198 {
00199 node.parent().removeChild(node);
00200 }
00201
00202 node.parent(this);
00203 }
00204
00205 _id_ = node;
00206 }
00207 public void setIds(PIds node)
00208 {
00209 if(_ids_ != null)
00210 {
00211 _ids_.parent(null);
00212 }
00213
00214 if(node != null)
00215 {
00216 if(node.parent() != null)
00217 {
00218 node.parent().removeChild(node);
00219 }
00220
00221 node.parent(this);
00222 }
00223
00224 _ids_ = node;
00225 }
00226 public void setLBrace(TLBrace node)
00227 {
00228 if(_lBrace_ != null)
00229 {
00230 _lBrace_.parent(null);
00231 }
00232
00233 if(node != null)
00234 {
00235 if(node.parent() != null)
00236 {
00237 node.parent().removeChild(node);
00238 }
00239
00240 node.parent(this);
00241 }
00242
00243 _lBrace_ = node;
00244 }
00245 public void setRBrace(TRBrace node)
00246 {
00247 if(_rBrace_ != null)
00248 {
00249 _rBrace_.parent(null);
00250 }
00251
00252 if(node != null)
00253 {
00254 if(node.parent() != null)
00255 {
00256 node.parent().removeChild(node);
00257 }
00258
00259 node.parent(this);
00260 }
00261
00262 _rBrace_ = node;
00263 }
00264 public String toString()
00265 {
00266 return ""
00267 + toString(_id_)
00268 + toString(_equal_)
00269 + toString(_lBrace_)
00270 + toString(_ids_)
00271 + toString(_rBrace_);
00272 }
00273 }