Documentation
¶
Index ¶
- func Export(model *sadl.Model, dir string, conf *sadl.Data) error
- type ClientData
- type Generator
- func (gen *Generator) ActionInfo(hact *sadl.HttpDef) (string, string)
- func (gen *Generator) ActionName(hact *sadl.HttpDef) string
- func (gen *Generator) AddImport(fullReference string)
- func (gen *Generator) CreateClient()
- func (gen *Generator) CreateClientConfig()
- func (gen *Generator) CreateClientDataAndFuncMap(src, rez string)
- func (gen *Generator) CreateEnumPojo(ts *sadl.TypeSpec, className string)
- func (gen *Generator) CreateInstantJson()
- func (gen *Generator) CreateInterface()
- func (gen *Generator) CreateJavaFileFromTemplate(name string, tmpl string, data interface{}, funcMap template.FuncMap, ...)
- func (gen *Generator) CreateModel()
- func (gen *Generator) CreatePojo(ts *sadl.TypeSpec, className, comment string, exceptions map[string]string)
- func (gen *Generator) CreatePojoFromDef(td *sadl.TypeDef, exceptions map[string]string)
- func (gen *Generator) CreatePom(extraDepends string)
- func (gen *Generator) CreateRequestPojo(hact *sadl.HttpDef)
- func (gen *Generator) CreateResponsePojo(hact *sadl.HttpDef)
- func (gen *Generator) CreateServer()
- func (gen *Generator) CreateServerDataAndFuncMap(src, rez string)
- func (gen *Generator) CreateStructPojo(ts *sadl.TypeSpec, className string, indent string, ...)
- func (gen *Generator) CreateTimestamp()
- func (gen *Generator) CreateUnionPojo(td *sadl.TypeSpec, className string)
- func (gen *Generator) CreateUnitValuePojo(ts *sadl.TypeSpec, className string)
- func (gen *Generator) CreateUtil()
- func (gen *Generator) EmitAllFieldsConstructor(className string, ts *sadl.TypeSpec, indent string)
- func (gen *Generator) EmitBuilder(className string, ts *sadl.TypeSpec, indent string)
- func (gen *Generator) EmitFluidSetter(className string, ts *sadl.TypeSpec, fd *sadl.StructFieldDef, indent string)
- func (gen *Generator) EmitGetter(className string, ts *sadl.TypeSpec, fd *sadl.StructFieldDef, indent string)
- func (gen *Generator) EnsurePackageDir(pkg string)
- func (gen *Generator) ExceptionTypes() map[string]string
- func (gen *Generator) RequestType(name string) string
- func (gen *Generator) ResponseType(name string) string
- func (gen *Generator) TypeName(ts *sadl.TypeSpec, name string, required bool) (string, []string, *sadl.TypeSpec)
- func (gen *Generator) WriteJavaFile(name string, content string, pkg string)
- type ServerData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ClientData ¶
type Generator ¶
type Generator struct {
sadl.Generator
Model *sadl.Model
Domain string //the default DNS domain. Used when generating a POM, defaults to getenv("DOMAIN")
Name string //the name of the service, if not in the model
Package string //the package of the service. Defaults to the reverse domain name
ModelPackage string
ServerPackage string
ClientPackage string
Header string //the banner to prepend to every generated file. Defaults to something obvious and simple
SourceDir string //the source directory, relative to the project directory. Defaults to "src/main/java"
ResourceDir string //the resource directory, relative to the project directory. Defaults to "src/main/resource"
UseLombok bool //use the Lombok library for generated POJOs. The default is to not.
UseImmutable bool //generate immutable POJOs with a builder inner class
UseGetters bool //generate getters and setters for POJOs. By default, a fluid-style setter and public members are used
UseInstants bool //use java.time.Instant for Timestamp implementation. By default, a Timestamp class is generated
UseJsonPretty bool //generate a toString() method that pretty prints JSON.
UseMaven bool //use Maven defaults, and generate a pom.xml file for the project to immedaitely build it.
ModelCode bool //generate model code
ServerCode bool //generate server code
ServerImpl bool //generate a default (but empty) implementation of the service interface
ClientCode bool //generate client code
ServiceException bool //generate a generic ServiceException instead of making POJOs used as action errors throawable
NeedTimestamp bool
NeedInstant bool
NeedUtil bool
ServerData *ServerData
ClientData *ClientData
// contains filtered or unexported fields
}
func NewGenerator ¶
func (*Generator) ActionInfo ¶
func (*Generator) CreateClient ¶
func (gen *Generator) CreateClient()
func (*Generator) CreateClientConfig ¶
func (gen *Generator) CreateClientConfig()
func (*Generator) CreateClientDataAndFuncMap ¶
func (*Generator) CreateEnumPojo ¶
func (*Generator) CreateInstantJson ¶
func (gen *Generator) CreateInstantJson()
func (*Generator) CreateInterface ¶
func (gen *Generator) CreateInterface()
func (*Generator) CreateJavaFileFromTemplate ¶
func (*Generator) CreateModel ¶
func (gen *Generator) CreateModel()
func (*Generator) CreatePojo ¶
func (*Generator) CreatePojoFromDef ¶
func (*Generator) CreateRequestPojo ¶
func (*Generator) CreateResponsePojo ¶
func (*Generator) CreateServer ¶
func (gen *Generator) CreateServer()
func (*Generator) CreateServerDataAndFuncMap ¶
func (*Generator) CreateStructPojo ¶
func (*Generator) CreateTimestamp ¶
func (gen *Generator) CreateTimestamp()
func (*Generator) CreateUnionPojo ¶
func (*Generator) CreateUnitValuePojo ¶
func (*Generator) CreateUtil ¶
func (gen *Generator) CreateUtil()
func (*Generator) EmitAllFieldsConstructor ¶
func (*Generator) EmitBuilder ¶
func (*Generator) EmitFluidSetter ¶
func (*Generator) EmitGetter ¶
func (*Generator) EnsurePackageDir ¶
func (*Generator) ExceptionTypes ¶
func (*Generator) RequestType ¶
func (*Generator) ResponseType ¶
type ServerData ¶
type ServerData struct {
Name string
Model *sadl.Model
ModelPackage string
ServerPackage string
PackageLine string
Port int
MainClass string
ResourcesClass string
ImplClass string
InterfaceClass string
RootPath string
Http []*sadl.HttpDef
Inputs []*sadl.HttpParamSpec
Expected *sadl.HttpExpectedSpec
Errors []*sadl.HttpExceptionSpec
Class string
Imports []string
Funcs template.FuncMap
Interfaces map[string][]string
ExtraResources string
}
Click to show internal directories.
Click to hide internal directories.