Files
runner/src/Sdk/BuildWebApi/Api/Contracts/ServerTargetExecutionOptionsJsonConverter.cs
2019-10-10 00:52:42 -04:00

37 lines
1.2 KiB
C#

using System;
namespace GitHub.Build.WebApi
{
internal sealed class ServerTargetExecutionOptionsJsonConverter : TypePropertyJsonConverter<ServerTargetExecutionOptions>
{
protected override ServerTargetExecutionOptions GetInstance(Type objectType)
{
if (objectType == typeof(ServerTargetExecutionType))
{
return new ServerTargetExecutionOptions();
}
else if (objectType == typeof(VariableMultipliersServerExecutionOptions))
{
return new VariableMultipliersServerExecutionOptions();
}
else
{
return base.GetInstance(objectType);
}
}
protected override ServerTargetExecutionOptions GetInstance(Int32 targetType)
{
switch (targetType)
{
case ServerTargetExecutionType.Normal:
return new ServerTargetExecutionOptions();
case ServerTargetExecutionType.VariableMultipliers:
return new VariableMultipliersServerExecutionOptions();
default:
return null;
}
}
}
}