public BuffettCodeApiTaskProcessor(BuffettCodeApiVersion version) { client = ApiClientFactory.Create(version, config.ApiKey); parser = ApiResponseParserFactory.Create(version); var tierResolver = PeriodSupportedTierResolver.Create(client, parser); taskHelper = new ApiTaskHelper(tierResolver); }
public static IApiResponseParser Create(BuffettCodeApiVersion version) { switch (version) { case BuffettCodeApiVersion.Version2: return(new ApiV2ResponseParser()); case BuffettCodeApiVersion.Version3: return(new ApiV3ResponseParser()); default: throw new NonSupportedApiVersionException($"api version={version} is not supported."); } }
public static ILegacyDataTypeResolver GetInstance(BuffettCodeApiVersion version) { switch (version) { case BuffettCodeApiVersion.Version2: return(ApiV2LegacyDataTypeResolver.GetInstance()); case BuffettCodeApiVersion.Version3: return(ApiV3LegacyDataTypeResolver.GetInstance()); default: throw new NonSupportedApiVersionException($"api version={version} is not supported."); } }
public static IBuffettCodeApiClient Create(BuffettCodeApiVersion version, string apiKey) { ApiKeyValidator.Validate(apiKey); switch (version) { case BuffettCodeApiVersion.Version2: return(CreateV2(apiKey)); case BuffettCodeApiVersion.Version3: return(CreateV3(apiKey)); default: throw new NonSupportedApiVersionException($"unknown version is given: {version}"); } }
public BCodeLegacyExecutor(BuffettCodeApiVersion version) { resolver = LegacyDataTypeResolver.GetInstance(version); fetcher = new ApiResourceFetcher(version); }
public ApiResourceFetcher(BuffettCodeApiVersion version) { processor = new BuffettCodeApiTaskProcessor(version); }
public BCodeExecutor(BuffettCodeApiVersion version) { fetcher = new ApiResourceFetcher(version); builder = TickerPiriodParameterBuilder.Create(fetcher); }