using System; using System.Collections.Generic; using System.Runtime.Serialization; using GitHub.Services.WebApi; namespace GitHub.Build.WebApi { /// /// Represents an optional behavior that can be applied to a build definition. /// [DataContract] public class BuildOptionDefinition : BuildOptionDefinitionReference { public BuildOptionDefinition() { } internal BuildOptionDefinition( ISecuredObject securedObject) : base(securedObject) { } /// /// A value that indicates the relative order in which the behavior should be applied. /// [DataMember(EmitDefaultValue = false)] public Int32 Ordinal { get; set; } /// /// The name of the build option. /// [DataMember(EmitDefaultValue = false)] public String Name { get; set; } /// /// The description. /// [DataMember(EmitDefaultValue = false)] public String Description { get; set; } /// /// The list of inputs defined for the build option. /// [DataMember(EmitDefaultValue = false)] public IList Inputs { get { if (m_inputs == null) { m_inputs = new List(); } return m_inputs; } set { m_inputs = new List(value); } } /// /// The list of input groups defined for the build option. /// [DataMember(EmitDefaultValue = false)] public IList Groups { get { if (m_groups == null) { m_groups = new List(); } return m_groups; } set { m_groups = new List(value); } } private List m_inputs; private List m_groups; } }