using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Quadarax.Foundation.QConsole.Value;

namespace Quadarax.Foundation.QConsole.Argument
{
    public class OrdinalArgument : AbstractArgument
    {
        /// <summary>
        /// Defines if ordinal argument can be also used as named argument.
        /// </summary>
        public bool IsCodeAllowed { get; }

        /// <summary>
        /// Ordinal position in command line from left.
        /// </summary>
        public int OrdinalNumber { get; }

        public OrdinalArgument(int ordinalNumber,  bool isCodeAllowed, string code, string description, string hint, TypeValuesEnum valueType, string defaultValue, bool isMandatory) : base(code, description, hint, valueType, defaultValue, isMandatory)
        {
            OrdinalNumber = ordinalNumber;
            IsCodeAllowed = isCodeAllowed;
        }
    }
}
