001package org.anarres.qemu.qapi.api;
002
003import com.fasterxml.jackson.annotation.JsonInclude;
004import com.fasterxml.jackson.annotation.JsonProperty;
005import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
006import javax.annotation.CheckForNull;
007import javax.annotation.Nonnull;
008import org.anarres.qemu.qapi.common.*;
009
010/**
011 * Autogenerated class.
012 *
013 * <pre>QApiCommandDescriptor{name=transaction, returns=null, data={actions=[TransactionAction], *properties=TransactionProperties}}</pre>
014 */
015// QApiCommandDescriptor{name=transaction, returns=null, data={actions=[TransactionAction], *properties=TransactionProperties}}
016public class TransactionCommand extends QApiCommand<TransactionCommand.Arguments, TransactionCommand.Response> {
017        /** Compound arguments to a TransactionCommand. */
018        @JsonInclude(JsonInclude.Include.NON_EMPTY)
019        public static class Arguments {
020
021                @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
022                @JsonProperty("actions")
023                @Nonnull
024                public java.util.List<TransactionAction> actions;
025                @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")
026                @JsonProperty("properties")
027                @CheckForNull
028                public TransactionProperties properties;
029
030                public Arguments() {
031                }
032
033                public Arguments(java.util.List<TransactionAction> actions, TransactionProperties properties) {
034                        this.actions = actions;
035                        this.properties = properties;
036                }
037        }
038
039        /** Response to a TransactionCommand. */
040        public static class Response extends QApiResponse<java.lang.Void> {
041        }
042
043        /** Constructs a new TransactionCommand. */
044        public TransactionCommand(@Nonnull TransactionCommand.Arguments argument) {
045                super("transaction", Response.class, argument);
046        }
047
048        /** Constructs a new TransactionCommand. */
049        public TransactionCommand(java.util.List<TransactionAction> actions, TransactionProperties properties) {
050                this(new Arguments(actions, properties));
051        }
052}