public EndemeValue GetValue(EndemeTermKey profile) { if (Regex.IsMatch(profile.ToString(), "[*!]")) { return(RegField.Educe(profile, true).Item); } else { return(ListField.Educe(profile, true).Item); } }
// ---------------------------------------------------------------------------------------- /// <!-- For --> /// <summary> /// /// </summary> /// <param name="profile"></param> /// <returns></returns> public IAmAnEndemeItem For(EndemeTermKey profile, bool rawSource) { if (Regex.IsMatch(profile.ToString(), "[*!]")) { return(RegField.Educe(profile, rawSource)); } else { return(ListField.Educe(profile, rawSource)); } }
// ---------------------------------------------------------------------------------------- /// <!-- Educe --> /// <summary> /// /// </summary> /// <param name="enTK"></param> /// <returns></returns> public EndemeItem Educe(EndemeTermKey enTK, bool rawSource) { EndemeItem item = this[enTK]; if (item == null) { this.Add("", Endeme.Part(0, enTK), Endeme.Part(1, enTK), null, rawSource); item = this[enTK]; } return(item); }
public void SetValue(EndemeTermKey profile, EndemeValue value, bool rawSource) { if (Regex.IsMatch(profile.ToString(), "[*!]")) { EndemeObject enObj = RegField.Educe(profile, rawSource); enObj.Item = value; } else { ListField.Educe(profile, rawSource).Item = value; } }
// ---------------------------------------------------------------------------------------- /// <!-- Educe --> /// <summary> /// /// </summary> /// <param name="profile"></param> /// <returns></returns> public EndemeObject Educe(EndemeTermKey profile, bool rawSource) { EndemeProfile enProfile = new EndemeProfile(profile, _enRef); for (int i = 0; i < enProfile.Count; ++i) { _enRef.Educe(enProfile[i].ItemEndeme); } EndemeObject enObject = this[enProfile]; if (enObject == null) { enObject = this.Add(enProfile, null, rawSource); } return(enObject); }
public EndemeItem this[EndemeTermKey enTerm] { get { EndemeItem item = GetExactField(enTerm); if (item == null) { item = SetFieldExactly(enTerm, new EndemeValue(null)); } return(item); } set { EndemeItem item = GetExactField(enTerm); if (item == null) { item = SetFieldExactly(enTerm, value); } else { item.Item = value.Item; } } }
public EndemeProfile(EndemeTermKey profile, EndemeReference enRef) { Init(); FillSegments(profile, enRef, true); FillOperators(profile.ToString()); }
// ---------------------------------------------------------------------------------------- // Accessors // ---------------------------------------------------------------------------------------- public EndemeValue this[EndemeTermKey profile] { get { return(GetValue(profile)); } set { SetValue(profile, value, true); } }