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
|
|
|
|
|
{
|
2022-01-14 08:13:55 +00:00
|
|
|
|
string AssemblyName { get; }
|
|
|
|
|
string? Namespace { get; }
|
|
|
|
|
string ClassName { get; }
|
2021-12-31 17:48:04 +00:00
|
|
|
|
|
2022-01-14 08:13:55 +00:00
|
|
|
|
string FullClassName => (!string.IsNullOrEmpty(Namespace) ? Namespace + "." : "") + ClassName;
|
|
|
|
|
|
|
|
|
|
bool TryGetPublishDestination(out string exchange, out string routingKey);
|
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
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|