SAService Architect Back to designer
SAService ArchitectDocumentation
Type system Struct

Struct

A named record defined inline, in a package or shared module.

When to use

Define this contract before assigning it to stream valueType or keyType.

Behavior

  • Usually carries application messages between operators.

Definition properties

Identity and representation

PropertyTypeDescription
namestring

Canonical named type referenced by streams and other types.

Required
typeint | uint | byte | char | boolean | unicode char | string | unicode string | float | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | any | error | array | map | struct | custom

DataType kind that controls generated representation, composition and serde behavior.

RequiredAllowed: int, uint, byte, char, boolean, unicode char, string, unicode string, float, double, int8, int16, int32, int64, uint8, uint16, uint32, uint64, any, error, array, map, struct, custom
definitionFormatNative | Protobuf | FlatBuffers | CapNProto | OpenAPI

Serialization or external definition format.

Allowed: Native, Protobuf, FlatBuffers, CapNProto, OpenAPI
descriptiontext

Generated type documentation.

Composition properties

Nested type references

PropertyTypeDescription
keyTypeType

Map key type.

map only
valueTypeType

Array item or map value type.

array or map

Code generation properties

Sharing and target-language behavior

PropertyTypeDescription
transferByValueboolean

Uses value rather than pointer/reference signatures.

Default: false
useAliasboolean

Generates a named alias for a built-in scalar or runtime contract.

Default: false
publicTypeboolean

Places the named type in a user-selected Module so it can be shared across services.

moduleModule

User-defined Module that owns a public type.

publicType = true
packagestring

Target-language package alias.

typeDefinitionLang*code

Inline target-language definition.

custom type

Configuration example

name: Struct
type: struct