java

package
v1.8.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2023 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Export

func Export(model *sadl.Model, dir string, conf *sadl.Data) error

Types

type ClientData

type ClientData struct {
	Name           string
	Model          *sadl.Model
	ModelPackage   string
	ClientPackage  string
	PackageLine    string
	Port           int
	RootPath       string
	InterfaceClass string
	Funcs          template.FuncMap
}

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 NewGenerator(model *sadl.Model, outdir string, config *sadl.Data) *Generator

func (*Generator) ActionInfo

func (gen *Generator) ActionInfo(hact *sadl.HttpDef) (string, string)

func (*Generator) ActionName

func (gen *Generator) ActionName(hact *sadl.HttpDef) string

func (*Generator) AddImport

func (gen *Generator) AddImport(fullReference string)

func (*Generator) CreateClient

func (gen *Generator) CreateClient()

func (*Generator) CreateClientConfig

func (gen *Generator) CreateClientConfig()

func (*Generator) CreateClientDataAndFuncMap

func (gen *Generator) CreateClientDataAndFuncMap(src, rez string)

func (*Generator) CreateEnumPojo

func (gen *Generator) CreateEnumPojo(ts *sadl.TypeSpec, className string)

func (*Generator) CreateInstantJson

func (gen *Generator) CreateInstantJson()

func (*Generator) CreateInterface

func (gen *Generator) CreateInterface()

func (*Generator) CreateJavaFileFromTemplate

func (gen *Generator) CreateJavaFileFromTemplate(name string, tmpl string, data interface{}, funcMap template.FuncMap, pkg string)

func (*Generator) CreateModel

func (gen *Generator) CreateModel()

func (*Generator) CreatePojo

func (gen *Generator) CreatePojo(ts *sadl.TypeSpec, className, comment string, exceptions map[string]string)

func (*Generator) CreatePojoFromDef

func (gen *Generator) CreatePojoFromDef(td *sadl.TypeDef, exceptions map[string]string)

func (*Generator) CreatePom

func (gen *Generator) CreatePom(extraDepends string)

func (*Generator) CreateRequestPojo

func (gen *Generator) CreateRequestPojo(hact *sadl.HttpDef)

func (*Generator) CreateResponsePojo

func (gen *Generator) CreateResponsePojo(hact *sadl.HttpDef)

func (*Generator) CreateServer

func (gen *Generator) CreateServer()

func (*Generator) CreateServerDataAndFuncMap

func (gen *Generator) CreateServerDataAndFuncMap(src, rez string)

func (*Generator) CreateStructPojo

func (gen *Generator) CreateStructPojo(ts *sadl.TypeSpec, className string, indent string, exceptions map[string]string)

func (*Generator) CreateTimestamp

func (gen *Generator) CreateTimestamp()

func (*Generator) CreateUnionPojo

func (gen *Generator) CreateUnionPojo(td *sadl.TypeSpec, className string)

func (*Generator) CreateUnitValuePojo

func (gen *Generator) CreateUnitValuePojo(ts *sadl.TypeSpec, className string)

func (*Generator) CreateUtil

func (gen *Generator) CreateUtil()

func (*Generator) EmitAllFieldsConstructor

func (gen *Generator) EmitAllFieldsConstructor(className string, ts *sadl.TypeSpec, indent string)

func (*Generator) EmitBuilder

func (gen *Generator) EmitBuilder(className string, ts *sadl.TypeSpec, indent string)

func (*Generator) EmitFluidSetter

func (gen *Generator) EmitFluidSetter(className string, ts *sadl.TypeSpec, fd *sadl.StructFieldDef, indent string)

func (*Generator) EmitGetter

func (gen *Generator) EmitGetter(className string, ts *sadl.TypeSpec, fd *sadl.StructFieldDef, indent string)

func (*Generator) EnsurePackageDir

func (gen *Generator) EnsurePackageDir(pkg string)

func (*Generator) ExceptionTypes

func (gen *Generator) ExceptionTypes() map[string]string

func (*Generator) RequestType

func (gen *Generator) RequestType(name string) string

func (*Generator) ResponseType

func (gen *Generator) ResponseType(name string) string

func (*Generator) TypeName

func (gen *Generator) TypeName(ts *sadl.TypeSpec, name string, required bool) (string, []string, *sadl.TypeSpec)

func (*Generator) WriteJavaFile

func (gen *Generator) WriteJavaFile(name string, content string, pkg string)

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
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL