public void Visit(ReferenceFrom referenceFrom) { if (_innerVisitor != null) { referenceFrom.Accept(_innerVisitor); } }
public void Visit(ReferenceFrom from) { Write(GetJoinType(from.Join)); Visit(from.Name); WriteAlias(from.Alias); WriteTableHints(from.Hints); WriteOnClause(from.OnClause); }
public BeanDefine(Document doc, XmlElement self, BeanDefine parent = null) { this.Document = doc; this.Parent = parent; this.Self = self; EnumDefines = new ReadOnlyDictionary <string, EnumDefine>(_EnumDefines); BeanDefines = new ReadOnlyDictionary <string, BeanDefine>(_BeanDefines); Variables = new ReadOnlyCollection <VarDefine>(_Variables); ReferenceFroms = new ReadOnlyDictionary <string, ReferenceFrom>(_ReferenceFroms); _Name = self.GetAttribute("name"); if (Name.Length == 0) { _Name = doc.Name; } string tmp = self.GetAttribute("Locked"); _Locked = tmp.Length > 0 ? bool.Parse(tmp) : false; XmlNodeList childNodes = self.ChildNodes; foreach (XmlNode node in childNodes) { if (XmlNodeType.Element != node.NodeType) { continue; } XmlElement e = (XmlElement)node; switch (e.Name) { case "BeanDefine": var bdnew = new BeanDefine(Document, e, this); _BeanDefines.Add(bdnew.Name, bdnew); break; case "variable": _Variables.Add(new VarDefine(this, e)); break; case "enum": var enew = new EnumDefine(this, e); _EnumDefines.Add(enew.Name, enew); break; case "ReferenceFrom": var rf = new ReferenceFrom(e); _ReferenceFroms.Add($"{rf.FullName}:{rf.VarName}", rf); break; default: throw new Exception("node=" + e.Name); } } }
/// <summary> /// Attempts to resolves this forward reference. /// </summary> /// <param name="mapModel">The map model that should now contain the relevant features.</param> internal override void Resolve(CadastralMapModel mapModel) { Feature f = mapModel.Find <Feature>(InternalId); if (f == null) { throw new ApplicationException("Cannot locate forward reference " + InternalId); } ReferenceFrom.ApplyFeatureRef(Field, f); }
internal override void Resolve(CadastralMapModel mapModel) { foreach (ForwardRefArrayItem item in Items) { item.Feature = mapModel.Find <Feature>(item.InternalId); if (item.Feature == null) { throw new ApplicationException("Cannot locate forward reference " + item.InternalId); } } ReferenceFrom.ApplyFeatureRefArray(Field, Items); }
public void Visit(ReferenceFrom referenceFrom) { }