2021-12-15 09:50:45 +00:00
|
|
|
|
using System;
|
2022-01-03 14:00:30 +00:00
|
|
|
|
using PettingZoo.Core.Validation;
|
2021-12-15 09:50:45 +00:00
|
|
|
|
|
|
|
|
|
namespace PettingZoo.Core.Generator
|
|
|
|
|
{
|
2021-12-31 17:48:04 +00:00
|
|
|
|
public interface IExampleGenerator
|
2021-12-15 09:50:45 +00:00
|
|
|
|
{
|
2021-12-31 17:48:04 +00:00
|
|
|
|
void Select(object? ownerWindow, Action<IExample> onExampleSelected);
|
2021-12-15 09:50:45 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2021-12-31 17:48:04 +00:00
|
|
|
|
public interface IExample
|
2021-12-15 09:50:45 +00:00
|
|
|
|
{
|
2021-12-31 17:48:04 +00:00
|
|
|
|
string Generate();
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-15 09:50:45 +00:00
|
|
|
|
|
2021-12-31 17:48:04 +00:00
|
|
|
|
public interface IClassTypeExample : IExample
|
|
|
|
|
{
|
|
|
|
|
public string AssemblyName { get; }
|
|
|
|
|
public string? Namespace { get; }
|
|
|
|
|
public string ClassName { get; }
|
|
|
|
|
|
2022-01-03 14:00:30 +00:00
|
|
|
|
public string FullClassName => (!string.IsNullOrEmpty(Namespace) ? Namespace + "." : "") + ClassName;
|
2021-12-15 09:50:45 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2022-01-03 14:00:30 +00:00
|
|
|
|
public interface IValidatingExample : IExample, IPayloadValidator
|
2021-12-15 09:50:45 +00:00
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|