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=PciBusInfo, data={number=int, secondary=int, subordinate=int, io_range=PciMemoryRange, memory_range=PciMemoryRange, prefetchable_range=PciMemoryRange}, innerTypes=null}</pre>
016 */
017// QApiTypeDescriptor{name=PciBusInfo, data={number=int, secondary=int, subordinate=int, io_range=PciMemoryRange, memory_range=PciMemoryRange, prefetchable_range=PciMemoryRange}, innerTypes=null}
018@JsonInclude(JsonInclude.Include.NON_EMPTY)
019public class PciBusInfo extends QApiType {
020
021        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
022        @JsonProperty("number")
023        @Nonnull
024        public long number;
025        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
026        @JsonProperty("secondary")
027        @Nonnull
028        public long secondary;
029        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
030        @JsonProperty("subordinate")
031        @Nonnull
032        public long subordinate;
033        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
034        @JsonProperty("io_range")
035        @Nonnull
036        public PciMemoryRange ioRange;
037        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
038        @JsonProperty("memory_range")
039        @Nonnull
040        public PciMemoryRange memoryRange;
041        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
042        @JsonProperty("prefetchable_range")
043        @Nonnull
044        public PciMemoryRange prefetchableRange;
045
046        @Nonnull
047        public PciBusInfo withNumber(long value) {
048                this.number = value;
049                return this;
050        }
051
052        @Nonnull
053        public PciBusInfo withSecondary(long value) {
054                this.secondary = value;
055                return this;
056        }
057
058        @Nonnull
059        public PciBusInfo withSubordinate(long value) {
060                this.subordinate = value;
061                return this;
062        }
063
064        @Nonnull
065        public PciBusInfo withIoRange(PciMemoryRange value) {
066                this.ioRange = value;
067                return this;
068        }
069
070        @Nonnull
071        public PciBusInfo withMemoryRange(PciMemoryRange value) {
072                this.memoryRange = value;
073                return this;
074        }
075
076        @Nonnull
077        public PciBusInfo withPrefetchableRange(PciMemoryRange value) {
078                this.prefetchableRange = value;
079                return this;
080        }
081
082        public PciBusInfo() {
083        }
084
085        public PciBusInfo(long number, long secondary, long subordinate, PciMemoryRange ioRange, PciMemoryRange memoryRange, PciMemoryRange prefetchableRange) {
086                this.number = number;
087                this.secondary = secondary;
088                this.subordinate = subordinate;
089                this.ioRange = ioRange;
090                this.memoryRange = memoryRange;
091                this.prefetchableRange = prefetchableRange;
092        }
093
094        @JsonIgnore
095        @Override
096        public java.util.List<java.lang.String> getFieldNames() {
097                java.util.List<java.lang.String> names = super.getFieldNames();
098                names.add("number");
099                names.add("secondary");
100                names.add("subordinate");
101                names.add("io_range");
102                names.add("memory_range");
103                names.add("prefetchable_range");
104                return names;
105        }
106
107        @Override
108        public Object getFieldByName(@Nonnull java.lang.String name) throws NoSuchFieldException {
109                if ("number".equals(name))
110                        return number;
111                if ("secondary".equals(name))
112                        return secondary;
113                if ("subordinate".equals(name))
114                        return subordinate;
115                if ("io_range".equals(name))
116                        return ioRange;
117                if ("memory_range".equals(name))
118                        return memoryRange;
119                if ("prefetchable_range".equals(name))
120                        return prefetchableRange;
121                return super.getFieldByName(name);
122        }
123}