39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Newtonsoft.Json.Linq;
|
|
using Pf2e.Scrapper.Importers.Repositories;
|
|
|
|
namespace Pf2e.Scrapper.Importers;
|
|
|
|
/// <summary>
|
|
/// Компендиум данных.
|
|
/// </summary>
|
|
internal abstract class AbstractCompendium
|
|
{
|
|
/// <summary>
|
|
/// Репозиторий данных.
|
|
/// </summary>
|
|
public abstract AbstractImporterRepository Repository { get; }
|
|
|
|
/// <summary>
|
|
/// Путь к хранению исходных данных.
|
|
/// </summary>
|
|
public string Dir => Repository.RepositoryDirPath;
|
|
|
|
/// <summary>
|
|
/// Возвращает количество элементов для указанного типа данных.
|
|
/// </summary>
|
|
/// <param name="type">Типы данных.</param>
|
|
/// <returns>Количество элементов.</returns>
|
|
public abstract int Count(params ICollection<string> type);
|
|
|
|
/// <summary>
|
|
/// Получение итератора сущностей. Если указан тип <paramref name="type"/> - то только указанного типа.
|
|
/// </summary>
|
|
/// <param name="type">Типы сущностей, которые нужно получить.</param>
|
|
/// <returns>Итератор сущностей.</returns>
|
|
public abstract IEnumerable<Tuple<AbstractCompendiumItem, JObject>> Iterate(
|
|
params ICollection<string> type
|
|
);
|
|
}
|