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 com.fasterxml.jackson.annotation.JsonValue; 008import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 009import javax.annotation.CheckForNull; 010import javax.annotation.Nonnull; 011import org.anarres.qemu.qapi.common.*; 012 013/** 014 * Autogenerated class. 015 * 016 * <pre>QApiUnionDescriptor{name=SocketAddress, discriminator=null, data={inet=InetSocketAddress, unix=UnixSocketAddress, fd=String}, innerTypes=null, fields=null, discriminatorField=null}</pre> 017 */ 018@JsonInclude(JsonInclude.Include.NON_EMPTY) 019public class SocketAddress extends QApiType implements QApiUnion { 020 public static enum Discriminator { 021 inet, 022 unix, 023 fd, 024 __NONE; 025 } 026 027 @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR") 028 @Nonnull 029 @JsonProperty("type") 030 public Discriminator type; 031 032 @Nonnull 033 public final Discriminator getType() { 034 return type; 035 } 036 037 // union { 038 @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR") 039 @JsonProperty("inet") 040 @JsonUnwrapped 041 @CheckForNull 042 public InetSocketAddress inet; 043 @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR") 044 @JsonProperty("unix") 045 @JsonUnwrapped 046 @CheckForNull 047 public UnixSocketAddress unix; 048 @SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR") 049 @JsonProperty("fd") 050 @JsonUnwrapped 051 @CheckForNull 052 public String fd; 053 // } 054 055 @Nonnull 056 public static SocketAddress inet(@Nonnull InetSocketAddress inet) { 057 SocketAddress self = new SocketAddress(); 058 self.type = Discriminator.inet; 059 self.inet = inet; 060 return self; 061 } 062 063 @Nonnull 064 public static SocketAddress unix(@Nonnull UnixSocketAddress unix) { 065 SocketAddress self = new SocketAddress(); 066 self.type = Discriminator.unix; 067 self.unix = unix; 068 return self; 069 } 070 071 @Nonnull 072 public static SocketAddress fd(@Nonnull String fd) { 073 SocketAddress self = new SocketAddress(); 074 self.type = Discriminator.fd; 075 self.fd = fd; 076 return self; 077 } 078 079 @Override 080 public java.util.List<java.lang.String> getFieldNames() { 081 java.util.List<java.lang.String> names = super.getFieldNames(); 082 names.add("inet"); 083 names.add("unix"); 084 names.add("fd"); 085 return names; 086 } 087 088 @JsonIgnore 089 @Override 090 public Object getFieldByName(@Nonnull java.lang.String name) throws NoSuchFieldException { 091 if ("inet".equals(name)) 092 return inet; 093 if ("unix".equals(name)) 094 return unix; 095 if ("fd".equals(name)) 096 return fd; 097 return super.getFieldByName(name); 098 } 099 100 @Override 101 @JsonIgnore 102 public boolean isValidUnion() { 103 int count = 0; 104 if (inet != null) 105 count++; 106 if (unix != null) 107 count++; 108 if (fd != null) 109 count++; 110 return (count == 1); 111 } 112}