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;
}
}