using System;

namespace Toolbox.Docking.Api.Objects.Metabolism
{
    /// <summary>
    /// This class contains the most basic description for a Toolbox metabolism.
    /// </summary>
    [Serializable]
    public sealed class TbMetabolismInfo : TbObjectInfo
    {
        /// <summary>
        /// Constructs a metabolism info object. 
        /// </summary>
        /// <param name="objFlags">Object information flags</param>
        /// <param name="metabolismType">The metabolism type.<b>Observed</b> or <b>Simulated</b>.</param>
        /// <param name="productName">This is the "metabolism" category name (e.g. "metabolite", "tautomer", "dissociation product") </param>
        public TbMetabolismInfo(TbObjectInfoFlags objFlags, MetabolismFlags metabolismType, string productName)
            : base(objFlags)
        {
            MetabolismType = metabolismType;
            ProductName = productName;
        }

        /// <summary>
        /// The metabolism type.<b>Observed</b> or <b>Simulated</b>.
        /// </summary>
        public readonly MetabolismFlags MetabolismType;

        /// <summary>
        /// This is the "metabolism" category name (e.g. "metabolite", "tautomer", "dissociation product") 
        /// </summary>
        public readonly string ProductName;
    }
}