/// <summary> /// /// </summary> /// <param name="parent"></param> /// <returns></returns> public virtual DataType Clone(TaxObject parent) { DataType dt = DataCopier.CloneJson <DataType>(this); dt.Parent = parent; return(dt); }
/// <summary> /// Inserts TaxObject newMember at index in the array. Throws and exception if TaxObject is null or index is out of range. /// </summary> /// <param name="newMember"></param> /// <param name="index"></param> /// <returns></returns> public virtual bool InsertArrayMember(TaxObject newMember, int index = -1) { if (index >= mArrayMembers.Count) { throw new Exception("Tried to insert an array member at an out-of-range index."); } if (newMember == null) { throw new Exception("Tried to insert a null TaxObject into an array."); } if (!mArrayMembers.Contains(newMember)) { if (index < 0) { mArrayMembers.Add(newMember); } else { mArrayMembers.Insert(index, newMember); } newMember.AddBaseTypeReference(this); return(true); } return(false); }
public DataType(String name, TaxObject parent) { Parent = parent; Name = name; DisplayName = string.Empty; DisplayGroup = string.Empty; Assumed = true; }
/// <summary> /// Returns true if the array contains TaxObject o. /// </summary> /// <param name="o"></param> /// <returns></returns> public virtual bool Contains(TaxObject o) { if (mArrayMembers.Contains(o)) { return(true); } return(false); }
/// <summary> /// Inserts TaxObject newMember after oldArrayMember. Throws an exception of oldArrayMember is not in this array. /// </summary> /// <param name="oldArrayMember"></param> /// <param name="newMember"></param> /// <returns></returns> public virtual bool InsertArrayMember(TaxObject oldArrayMember, TaxObject newMember) { if (!mArrayMembers.Contains(oldArrayMember)) { throw new Exception("Tried to insert an array member after a member that didn't exist in the array."); } return(InsertArrayMember(newMember, mArrayMembers.IndexOf(oldArrayMember))); }
/// <summary> /// Removes TaxObject member from the array. /// </summary> /// <param name="member"></param> /// <returns></returns> public virtual bool RemoveArrayMember(TaxObject member) { if (mArrayMembers.Contains(member)) { mArrayMembers.Remove(member); member.RemoveBaseTypeReference(this); return(true); } return(false); }
public BoolType(String name, String defaultValue, TaxObject parent) : base(name, parent) { Bool = false; if (defaultValue != null) { if (defaultValue == TRUE_STRING) { Bool = true; } } }
/// <summary> /// Attempts to set the value of the DataType to the data Object. /// </summary> /// <param name="data"> Represents the new value for the DataType. </param> /// <returns> True if the data is successfully set. </returns> public override bool SetData(object data) { if (data == null) { if (TaxObject != null) { TaxObject.RemoveBaseTypeReference(this); } TaxObject = null; return(true); } else if (data is TaxObject) { TaxObject newObject = (TaxObject)data; if (newObject != TaxObject) { if (TaxObject != null) { TaxObject.RemoveBaseTypeReference(this); } TaxObject = newObject; if (TaxObject != null) { TaxObject.AddBaseTypeReference(this); } return(true); } return(false); } throw new Exception("Tried to set PointerType with bad data."); }
public ArrayType(String name, TaxObject parent) : base(name, parent) { mArrayMembers = new List <TaxObject>(); }
/// <summary> /// Returns the index of TaxObject o if it exists. /// </summary> /// <param name="o"></param> /// <returns></returns> public virtual int IndexOf(TaxObject o) { return(mArrayMembers.IndexOf(o)); }
/// <summary> /// Adds TaxObject member to the end of the Array. /// </summary> /// <param name="member"></param> /// <returns></returns> public virtual bool AddArrayMember(TaxObject member) { return(InsertArrayMember(member)); }
public PointerType(String name, TaxObject parent) : base(name, parent) { TaxObject = null; }