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=VersionTriple, data={major=int, minor=int, micro=int}, innerTypes=null}</pre>
016 */
017// QApiTypeDescriptor{name=VersionTriple, data={major=int, minor=int, micro=int}, innerTypes=null}
018@JsonInclude(JsonInclude.Include.NON_EMPTY)
019public class VersionTriple extends QApiType {
020
021        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
022        @JsonProperty("major")
023        @Nonnull
024        public long major;
025        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
026        @JsonProperty("minor")
027        @Nonnull
028        public long minor;
029        @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
030        @JsonProperty("micro")
031        @Nonnull
032        public long micro;
033
034        @Nonnull
035        public VersionTriple withMajor(long value) {
036                this.major = value;
037                return this;
038        }
039
040        @Nonnull
041        public VersionTriple withMinor(long value) {
042                this.minor = value;
043                return this;
044        }
045
046        @Nonnull
047        public VersionTriple withMicro(long value) {
048                this.micro = value;
049                return this;
050        }
051
052        public VersionTriple() {
053        }
054
055        public VersionTriple(long major, long minor, long micro) {
056                this.major = major;
057                this.minor = minor;
058                this.micro = micro;
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("major");
066                names.add("minor");
067                names.add("micro");
068                return names;
069        }
070
071        @Override
072        public Object getFieldByName(@Nonnull java.lang.String name) throws NoSuchFieldException {
073                if ("major".equals(name))
074                        return major;
075                if ("minor".equals(name))
076                        return minor;
077                if ("micro".equals(name))
078                        return micro;
079                return super.getFieldByName(name);
080        }
081}