Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 public DataType(String name, TaxObject parent)
 {
     Parent       = parent;
     Name         = name;
     DisplayName  = string.Empty;
     DisplayGroup = string.Empty;
     Assumed      = true;
 }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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)));
        }
Ejemplo n.º 6
0
 /// <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);
 }
Ejemplo n.º 7
0
        public BoolType(String name, String defaultValue, TaxObject parent) : base(name, parent)
        {
            Bool = false;

            if (defaultValue != null)
            {
                if (defaultValue == TRUE_STRING)
                {
                    Bool = true;
                }
            }
        }
Ejemplo n.º 8
0
        /// <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.");
        }
Ejemplo n.º 9
0
 public ArrayType(String name, TaxObject parent)
     : base(name, parent)
 {
     mArrayMembers = new List <TaxObject>();
 }
Ejemplo n.º 10
0
 /// <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));
 }
Ejemplo n.º 11
0
 /// <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));
 }
Ejemplo n.º 12
0
 public PointerType(String name, TaxObject parent)
     : base(name, parent)
 {
     TaxObject = null;
 }