Skip to content

Commit f60e895

Browse files
committed
feat(code-gen/go): add args to builder
1 parent 74871e2 commit f60e895

File tree

249 files changed

+2417
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

249 files changed

+2417
-0
lines changed

code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,12 @@ type ${type.name}Builder interface {
353353
With<#if field.isOptionalField()>Optional</#if>${field.name?cap_first}Builder(func(${helper.getLanguageTypeNameForTypeReference(typeRef)}Builder)${helper.getLanguageTypeNameForTypeReference(typeRef)}Builder) ${type.name}Builder
354354
</#if>
355355
</#list>
356+
<#if filteredParserArgumentsLocalToType?has_content>
357+
<#list filteredParserArgumentsLocalToType as parserArgument>
358+
// WithArg${parserArgument.name?cap_first} sets a parser argument
359+
WithArg${parserArgument.name?cap_first}(${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}) ${type.name}Builder
360+
</#list>
361+
</#if>
356362
<#if type.isAbstract()>
357363
<#list type.switchField.orElseThrow().cases as case>
358364
// As${case.name} converts this build to a subType of ${type.name}. It is always possible to return to current builder using Done()
@@ -453,6 +459,15 @@ func (b *_${type.name}Builder) With<#if field.isOptionalField()>Optional</#if>${
453459
</#if>
454460
</#list>
455461

462+
<#if filteredParserArgumentsLocalToType?has_content>
463+
<#list filteredParserArgumentsLocalToType as parserArgument>
464+
func (b *_${type.name}Builder) WithArg${parserArgument.name?cap_first}(${parserArgument.name} ${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}) ${type.name}Builder {
465+
b.${parserArgument.name?cap_first} = ${parserArgument.name}
466+
return b
467+
}
468+
</#list>
469+
</#if>
470+
456471
func (b *_${type.name}Builder) <#if type.isAbstract()>Partial</#if>Build() (${type.name}<#if type.isAbstract()>Contract</#if>,error) {
457472
<#list type.propertyFields?filter(field->!field.isOptionalField()) as field>
458473
<#if field.type.isComplexTypeReference() || helper.needsPointerAccess(field)>

plc4go/protocols/abeth/readwrite/model/CIPEncapsulationReadResponse.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/abeth/readwrite/model/DF1ResponseMessage.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/bacnetip/readwrite/model/APDU.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/bacnetip/readwrite/model/BACnetAbortReasonTagged.go

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisableTagged.go

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableReasonTagged.go

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/bacnetip/readwrite/model/BACnetAccessCredentialDisableTagged.go

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/bacnetip/readwrite/model/BACnetAccessEventTagged.go

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plc4go/protocols/bacnetip/readwrite/model/BACnetAccessPassbackModeTagged.go

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)