using System; using System.Collections.Generic; using System.Runtime.Serialization; using GitHub.Services.WebApi; namespace GitHub.Build.WebApi { /// /// Represents the application of an optional behavior to a build definition. /// [DataContract] public class BuildOption : BaseSecuredObject { public BuildOption() { } internal BuildOption( ISecuredObject securedObject) : base(securedObject) { } /// /// A reference to the build option. /// [DataMember(IsRequired = true, Order = 1, Name = "Definition")] public virtual BuildOptionDefinitionReference BuildOptionDefinition { get; set; } /// /// The inputs that configure the behavior. /// public virtual IDictionary Inputs { get { if (m_inputs == null) { m_inputs = new Dictionary(StringComparer.OrdinalIgnoreCase); } return m_inputs; } internal set { m_inputs = new Dictionary(value, StringComparer.OrdinalIgnoreCase); } } /// /// Indicates whether the behavior is enabled. /// [DataMember(EmitDefaultValue = true)] public virtual Boolean Enabled { get; set; } [DataMember(Name = "Inputs", EmitDefaultValue = false, Order = 2)] private Dictionary m_inputs; } }