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=BlockdevOptionsArchipelago, data={volume=str, *mport=int, *vport=int, *segment=str}, innerTypes=null}</pre>
016 */
017// QApiTypeDescriptor{name=BlockdevOptionsArchipelago, data={volume=str, *mport=int, *vport=int, *segment=str}, innerTypes=null}
018@JsonInclude(JsonInclude.Include.NON_EMPTY)
019public class BlockdevOptionsArchipelago extends QApiType {
020
021        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
022        @JsonProperty("volume")
023        @Nonnull
024        public java.lang.String volume;
025        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
026        @JsonProperty("mport")
027        @CheckForNull
028        public java.lang.Long mport;
029        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
030        @JsonProperty("vport")
031        @CheckForNull
032        public java.lang.Long vport;
033        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
034        @JsonProperty("segment")
035        @CheckForNull
036        public java.lang.String segment;
037
038        @Nonnull
039        public BlockdevOptionsArchipelago withVolume(java.lang.String value) {
040                this.volume = value;
041                return this;
042        }
043
044        @Nonnull
045        public BlockdevOptionsArchipelago withMport(java.lang.Long value) {
046                this.mport = value;
047                return this;
048        }
049
050        @Nonnull
051        public BlockdevOptionsArchipelago withVport(java.lang.Long value) {
052                this.vport = value;
053                return this;
054        }
055
056        @Nonnull
057        public BlockdevOptionsArchipelago withSegment(java.lang.String value) {
058                this.segment = value;
059                return this;
060        }
061
062        public BlockdevOptionsArchipelago() {
063        }
064
065        public BlockdevOptionsArchipelago(java.lang.String volume, java.lang.Long mport, java.lang.Long vport, java.lang.String segment) {
066                this.volume = volume;
067                this.mport = mport;
068                this.vport = vport;
069                this.segment = segment;
070        }
071
072        @JsonIgnore
073        @Override
074        public java.util.List<java.lang.String> getFieldNames() {
075                java.util.List<java.lang.String> names = super.getFieldNames();
076                names.add("volume");
077                names.add("mport");
078                names.add("vport");
079                names.add("segment");
080                return names;
081        }
082
083        @Override
084        public Object getFieldByName(@Nonnull java.lang.String name) throws NoSuchFieldException {
085                if ("volume".equals(name))
086                        return volume;
087                if ("mport".equals(name))
088                        return mport;
089                if ("vport".equals(name))
090                        return vport;
091                if ("segment".equals(name))
092                        return segment;
093                return super.getFieldByName(name);
094        }
095}