package io.swagger.models;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonIdentityReference;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
public class ModelWithJsonIdentity {
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "name")
@JsonProperty("PropertyGeneratorAsId")
public SourceDefinition1 testPropertyGeneratorAsId;
@JsonIdentityReference(alwaysAsId = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "name")
@JsonProperty("PropertyGeneratorAsProperty")
public SourceDefinition1 testPropertyGeneratorAsProperty;
public class SourceDefinition1 {
public String driver;
public String name;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "driverId")
@JsonProperty("ChangedPropertyName")
public SourceDefinition2 testChangedPropertyName;
public class SourceDefinition2 {
@JsonProperty("driverId")
public String driver;
public String name;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class)
@JsonProperty("SourceWithoutPropertyAsId")
public SourceDefinition3 testWithoutPropertyAsId;
@JsonIdentityReference(alwaysAsId = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class)
@JsonProperty("SourceWithoutPropertyAsProperty")
public SourceDefinition3 testWithoutPropertyAsProperty;
public class SourceDefinition3 {
@JsonProperty("driverId")
public String driver;
public String name;
@JsonProperty("@id")
public String id;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "testName1")
@JsonProperty("IntSequenceGeneratorAsId")
public SourceDefinition4 testIntSequenceGeneratorAsId;
@JsonIdentityReference(alwaysAsId = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "testName2")
@JsonProperty("IntSequenceGeneratorAsProperty")
public SourceDefinition4 testIntSequenceGeneratorAsProperty;
public class SourceDefinition4 {
public String name;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class)
@JsonProperty("IntSequenceWithoutPropertyAsId")
public SourceDefinition5 testIntSequenceWithoutPropertyAsId;
@JsonIdentityReference(alwaysAsId = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class)
@JsonProperty("IntSequenceWithoutPropertyAsProperty")
public SourceDefinition5 testIntSequenceWithoutPropertyAsProperty;
public class SourceDefinition5 {
public String name;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "UUID1")
@JsonProperty("UUIDGeneratorAsId")
public SourceDefinition6 testUUIDGeneratorAsId;
@JsonIdentityReference(alwaysAsId = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class, property = "UUID2")
@JsonProperty("UUIDGeneratorAsProperty")
public SourceDefinition6 testUUIDGeneratorAsProperty;
public class SourceDefinition6 {
public String name;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class)
@JsonProperty("UUIDGeneratorWithoutPropertyAsId")
public SourceDefinition7 testUUIDGeneratorWithoutPropertyAsId;
@JsonIdentityReference(alwaysAsId = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.UUIDGenerator.class)
@JsonProperty("UUIDGeneratorWithoutPropertyAsProperty")
public SourceDefinition7 testUUIDGeneratorWithoutPropertyAsProperty;
public class SourceDefinition7 {
public String name;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = ObjectIdGenerators.None.class, property = "testGeneratorsNone")
@JsonProperty("GeneratorsNone")
public SourceDefinition8 testGeneratorsNone;
public class SourceDefinition8 {
@JsonProperty("driverId")
public String driver;
public String name;
}
@JsonIdentityReference(alwaysAsId = true)
@JsonIdentityInfo(generator = CustomGenerator.class, property = "name")
@JsonProperty("CustomGenerator")
public SourceDefinition9 testCustomGenerator;
public class SourceDefinition9 {
public String driver;
public String name;
}
@JsonIdentityInfo(generator = CustomGenerator.class, property = "name")
@JsonProperty("WithoutJsonIdentityReference")
public SourceDefinition10 testWithoutJsonIdentityReference;
public class SourceDefinition10 {
public String driver;
public String name;
}
}