001package org.anarres.qemu.qapi.api;
002
003import com.fasterxml.jackson.annotation.JsonIgnore;
004import com.fasterxml.jackson.annotation.JsonInclude;
005import com.fasterxml.jackson.annotation.JsonProperty;
006import com.fasterxml.jackson.annotation.JsonUnwrapped;
007import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
008import javax.annotation.CheckForNull;
009import javax.annotation.Nonnull;
010import org.anarres.qemu.qapi.common.*;
011
012/**
013 * Autogenerated class.
014 *
015 * <pre>QApiTypeDescriptor{name=SchemaInfoObjectMember, data={name=str, type=str, *default=any}, innerTypes=null}</pre>
016 */
017// QApiTypeDescriptor{name=SchemaInfoObjectMember, data={name=str, type=str, *default=any}, innerTypes=null}
018@JsonInclude(JsonInclude.Include.NON_EMPTY)
019public class SchemaInfoObjectMember extends QApiType {
020
021        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
022        @JsonProperty("name")
023        @Nonnull
024        public java.lang.String name;
025        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
026        @JsonProperty("type")
027        @Nonnull
028        public java.lang.String type;
029        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
030        @JsonProperty("default")
031        @CheckForNull
032        public java.lang.Object _default;
033
034        @Nonnull
035        public SchemaInfoObjectMember withName(java.lang.String value) {
036                this.name = value;
037                return this;
038        }
039
040        @Nonnull
041        public SchemaInfoObjectMember withType(java.lang.String value) {
042                this.type = value;
043                return this;
044        }
045
046        @Nonnull
047        public SchemaInfoObjectMember with_default(java.lang.Object value) {
048                this._default = value;
049                return this;
050        }
051
052        public SchemaInfoObjectMember() {
053        }
054
055        public SchemaInfoObjectMember(java.lang.String name, java.lang.String type, java.lang.Object _default) {
056                this.name = name;
057                this.type = type;
058                this._default = _default;
059        }
060
061        @JsonIgnore
062        @Override
063        public java.util.List<java.lang.String> getFieldNames() {
064                java.util.List<java.lang.String> names = super.getFieldNames();
065                names.add("name");
066                names.add("type");
067                names.add("default");
068                return names;
069        }
070
071        @Override
072        public Object getFieldByName(@Nonnull java.lang.String name) throws NoSuchFieldException {
073                if ("name".equals(name))
074                        return name;
075                if ("type".equals(name))
076                        return type;
077                if ("default".equals(name))
078                        return _default;
079                return super.getFieldByName(name);
080        }
081}