Skip to content

Custom default values for fields #48

@bagrusss

Description

@bagrusss

I have this message:

message SomeMessage {
    message SomeInnerMessage {
        optional string someField = 1 [default = "some_value"];
        optional string someOtherField = 2 [default = "some_other_value"];
        required string parameter1 = 3;
        required string parameter2 = 4;
    }
    ...
}

Compiler generates this code:

...
    public static final class SomeInnerMessage
            implements io.protostuff.Message<Request> {

        private static final Request DEFAULT_INSTANCE = newBuilder().build();

        private String someField;

        private String someOtherField;

        private String parameter1;

        private String parameter2;

        private boolean __merge_lock = false;
        private int __bitField0;

        private SomeInnerMessage() {
            this.someField = "";
            this.someOtherField = "";
            this.parameter1 = "";
            this.parameter2 = "";
        }
        ...
     }
...

There are neither default initializers for fields someField, someOtherField for private constructor nor for SomeInnerMessage.Builder private constructor. How to generate classes with default fields values?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions