Get desktop application:
View/edit binary Protocol Buffers messages
Represents a custom Collection type in Scala. This allows ScalaPB to integrate with collection types that are different enough from the ones in the standard library.
Used in:
Type of the collection
Set to true if this collection type is not allowed to be empty, for example cats.data.NonEmptyList. When true, ScalaPB will not generate `clearX` for the repeated field and not provide a default argument in the constructor.
An Adapter is a Scala object available at runtime that provides certain static methods that can operate on this collection type.
Used in:
Additional classes and traits to mix in to the base trait
Additional classes and traits to mix in to the companion object.
All instances of this enum will be converted to this type. An implicit TypeMapper must be present.
Custom annotations to add to the generated enum's base class.
Custom annotations to add to the generated trait.
Custom annotations to add to the generated Unrecognized case class.
Used in:
Additional classes and traits to mix in to an individual enum value.
Name in Scala to use for this enum value.
Custom annotations to add to the generated case object for this enum value.
Used in:
Can be specified only if this field is repeated. If unspecified, it falls back to the file option named `collection_type`, which defaults to `scala.collection.Seq`.
If the field is a map, you can specify custom Scala types for the key or value.
Custom annotations to add to the field.
Can be specified only if this field is a map. If unspecified, it falls back to the file option named `map_type` which defaults to `scala.collection.immutable.Map`
Do not box this value in Option[T]. If set, this overrides MessageOptions.no_box
Like no_box it does not box a value in Option[T], but also fails parsing when a value is not provided. This enables to emulate required fields in proto3.
Used in:
Used in:
Used in:
Additional classes and traits to mix in to the case class.
Additional classes and traits to mix in to the companion object.
Custom annotations to add to the generated case class.
All instances of this message will be converted to this type. An implicit TypeMapper must be present.
Custom annotations to add to the companion object of the generated class.
Additional classes and traits to mix in to generated sealed_oneof base trait.
If true, when this message is used as an optional field, do not wrap it in an `Option`. This is equivalent of setting `(field).no_box` to true on each field with the message type.
Custom annotations to add to the generated `unknownFields` case class field.
Additional traits to mix in to a oneof.
Name in Scala to use for this oneof field.
Used in:
If set then it overrides the java_package and package.
If true, the compiler does not append the proto base file name into the generated package name. If false (the default), the generated scala package name is the package_name.basename where basename is the proto file name without the .proto extension.
Adds the following imports at the top of the file (this is meant to provide implicit TypeMappers)
Text to add to the generated scala file. This can be used only when single_file is true.
If true, all messages and enums (but not services) will be written to a single Scala file.
By default, wrappers defined at https://github.com/google/protobuf/blob/master/src/google/protobuf/wrappers.proto, are mapped to an Option[T] where T is a primitive type. When this field is set to true, we do not perform this transformation.
DEPRECATED. In ScalaPB <= 0.5.47, it was necessary to explicitly enable primitive_wrappers. This field remains here for backwards compatibility, but it has no effect on generated code. It is an error to set both `primitive_wrappers` and `no_primitive_wrappers`.
Scala type to be used for repeated fields. If unspecified, `scala.collection.Seq` will be used.
If set to true, all generated messages in this file will preserve unknown fields.
If defined, sets the name of the file-level object that would be generated. This object extends `GeneratedFileObject` and contains descriptors, and list of message and enum companions.
Experimental: scope to apply the given options.
If true, lenses will be generated.
If true, then source-code info information will be included in the generated code - normally the source code info is cleared out to reduce code size. The source code info is useful for extracting source code location from the descriptors as well as comments.
Scala type to be used for maps. If unspecified, `scala.collection.immutable.Map` will be used.
If true, no default values will be generated in message constructors.
Indicate if prefix (enum name + optional underscore) should be removed in scala code Strip is applied before enum value naming changes.
Scala type to use for bytes fields.
Enable java conversions for this file.
List of message options to apply to some messages.
List of message options to apply to some fields.
List of message options to apply to some enums.
List of enum value options to apply to some enum values.
List of preprocessors to apply.
Ignores all transformations for this file. This is meant to allow specific files to opt out from transformations inherited through package-scoped options.
If true, getters will be generated.
For use in tests only. Inhibit Java conversions even when when generator parameters request for it.
AuxEnumOptions enables you to set enum-level options through package-scoped options. This is useful when you can't add a dependency on scalapb.proto from the proto file that defines the enum.
Used in:
The fully-qualified name of the enum in the proto name space.
Options to apply to the enum. If there are any options defined on the target enum they take precedence over the options.
AuxEnumValueOptions enables you to set enum value level options through package-scoped options. This is useful when you can't add a dependency on scalapb.proto from the proto file that defines the enum.
Used in:
The fully-qualified name of the enum value in the proto name space.
Options to apply to the enum value. If there are any options defined on the target enum value they take precedence over the options.
AuxFieldOptions enables you to set field-level options through package-scoped options. This is useful when you can't add a dependency on scalapb.proto from the proto file that defines the field.
Used in:
The fully-qualified name of the field in the proto name space.
Options to apply to the field. If there are any options defined on the target message they take precedence over the options.
AuxMessageOptions enables you to set message-level options through package-scoped options. This is useful when you can't add a dependency on scalapb.proto from the proto file that defines the message.
Used in:
The fully-qualified name of the message in the proto name space.
Options to apply to the message. If there are any options defined on the target message they take precedence over the options.
Naming convention for generated enum values
Used in:
Enum value names in Scala use the same name as in the proto
Convert enum values to CamelCase in Scala.
Whether to apply the options only to this file, or for the entire package (and its subpackages)
Used in:
Apply the options for this file only (default)
Apply the options for the entire package and its subpackages.