Class ServiceExtensionCreator.Input
Everything needed to generate one service extension.
Inheritance
ServiceExtensionCreator.Input
Assembly: Serenity.ServiceExtensionCreator.Editor.dll
public sealed class ServiceExtensionCreator.Input
Constructors
Declaration
Fields
Declaration
public string AggregateName
Field Value
When true and Wiring is PipelineReplace, the task asset is appended to the
resolved UnityInitializationPipelineProfile.Tasks list; otherwise the README documents the manual step.
Declaration
public bool AppendToPipelineProfile
Field Value
Declaration
public ServiceExtensionCreator.AsmdefMode AsmdefMode
Field Value
Ignored for every kind other than Service — every other
kind always builds on the Infrastructure layer (a store/repository/gateway/factory IS an
infrastructure adapter by nature; there is no "Business" shape for one).
Declaration
public ServiceExtensionCreator.BaseLayer BaseLayer
Field Value
User-facing extension name; combined with the extension point's name to form the generated type name.
Declaration
public string ExtensionName
Field Value
Declaration
public string ExtensionPointName
Field Value
Declaration
public bool GenerateReadme
Field Value
Declaration
public bool GenerateTestStub
Field Value
Which kind of extension point to generate. Defaults to Service
for back-compat — a spec that only sets AggregateName behaves exactly as before.
Declaration
public ExtensionPointKind Kind
Field Value
Root namespace every generated layer's namespace is built from
({RootNamespace}.{CodeLayer}.Services, {RootNamespace}.Installation.Installers,
{RootNamespace}.Tests); empty defaults to the composed root (the service type name minus
its trailing "Service").
Declaration
public string NamespaceOverride
Field Value
When false, generated .asset outputs are not registered as Addressables — tests opt out
so they do not pollute the project's Addressables settings.
Declaration
public bool RegisterAsAddressables
Field Value
Declaration
public ServiceExtensionCreator.Style Style
Field Value
Declaration
public string SubclassBaseTypeName
Field Value
Project-relative parent folder the generated aggregate layout is created under (e.g.
"Assets/Game/Scripts/Score") — must already exist; every layer folder is created beneath it.
Declaration
public string TargetFolderPath
Field Value
Ignored for every kind other than Service — every other
kind's wiring shape is dictated entirely by Kind (Store/Installer always generate a
backend-definition asset, Repository/Gateway always generate an installer-hook subclass when one
is discoverable, Factory never generates wiring), never a free user choice.
Declaration
public ServiceExtensionCreator.Wiring Wiring
Field Value