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=DevicePropertyInfo, data={name=str, type=str, *description=str}, innerTypes=null}</pre>
016 */
017// QApiTypeDescriptor{name=DevicePropertyInfo, data={name=str, type=str, *description=str}, innerTypes=null}
018@JsonInclude(JsonInclude.Include.NON_EMPTY)
019public class DevicePropertyInfo 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("description")
031        @CheckForNull
032        public java.lang.String description;
033
034        @Nonnull
035        public DevicePropertyInfo withName(java.lang.String value) {
036                this.name = value;
037                return this;
038        }
039
040        @Nonnull
041        public DevicePropertyInfo withType(java.lang.String value) {
042                this.type = value;
043                return this;
044        }
045
046        @Nonnull
047        public DevicePropertyInfo withDescription(java.lang.String value) {
048                this.description = value;
049                return this;
050        }
051
052        public DevicePropertyInfo() {
053        }
054
055        public DevicePropertyInfo(java.lang.String name, java.lang.String type, java.lang.String description) {
056                this.name = name;
057                this.type = type;
058                this.description = description;
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("description");
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 ("description".equals(name))
078                        return description;
079                return super.getFieldByName(name);
080        }
081}