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=SchemaInfoBase, data={name=str, meta-type=SchemaMetaType}, innerTypes=null}</pre>
016 */
017// QApiTypeDescriptor{name=SchemaInfoBase, data={name=str, meta-type=SchemaMetaType}, innerTypes=null}
018@JsonInclude(JsonInclude.Include.NON_EMPTY)
019public class SchemaInfoBase 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("meta-type")
027        @Nonnull
028        public SchemaMetaType metaType;
029
030        @Nonnull
031        public SchemaInfoBase withName(java.lang.String value) {
032                this.name = value;
033                return this;
034        }
035
036        @Nonnull
037        public SchemaInfoBase withMetaType(SchemaMetaType value) {
038                this.metaType = value;
039                return this;
040        }
041
042        public SchemaInfoBase() {
043        }
044
045        public SchemaInfoBase(java.lang.String name, SchemaMetaType metaType) {
046                this.name = name;
047                this.metaType = metaType;
048        }
049
050        @JsonIgnore
051        @Override
052        public java.util.List<java.lang.String> getFieldNames() {
053                java.util.List<java.lang.String> names = super.getFieldNames();
054                names.add("name");
055                names.add("meta-type");
056                return names;
057        }
058
059        @Override
060        public Object getFieldByName(@Nonnull java.lang.String name) throws NoSuchFieldException {
061                if ("name".equals(name))
062                        return name;
063                if ("meta-type".equals(name))
064                        return metaType;
065                return super.getFieldByName(name);
066        }
067}