public class io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule extends org.jsonschema2pojo.rules.ObjectRule
{
private static final java.lang.String INTERFACE_TYPE_PROPERTY;
private static final java.lang.String INTERFACE_IMPLEMENTATIONS_TYPE_PROPERTY;
private static final java.lang.String VALUE_PROPERTY;
private final org.jsonschema2pojo.rules.RuleFactory ruleFactory;
protected void <init>(org.jsonschema2pojo.rules.RuleFactory, org.jsonschema2pojo.util.ParcelableHelper, org.jsonschema2pojo.util.ReflectionHelper)
{
org.jsonschema2pojo.util.ParcelableHelper v;
org.jsonschema2pojo.util.ReflectionHelper v;
org.jsonschema2pojo.rules.RuleFactory v;
io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule v;
v := @this: io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule;
v := @parameter: org.jsonschema2pojo.rules.RuleFactory;
v := @parameter: org.jsonschema2pojo.util.ParcelableHelper;
v := @parameter: org.jsonschema2pojo.util.ReflectionHelper;
specialinvoke v.<org.jsonschema2pojo.rules.ObjectRule: void <init>(org.jsonschema2pojo.rules.RuleFactory,org.jsonschema2pojo.util.ParcelableHelper,org.jsonschema2pojo.util.ReflectionHelper)>(v, v, v);
v.<io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule: org.jsonschema2pojo.rules.RuleFactory ruleFactory> = v;
return;
}
public com.sun.codemodel.JType apply(java.lang.String, com.fasterxml.jackson.databind.JsonNode, com.fasterxml.jackson.databind.JsonNode, com.sun.codemodel.JPackage, org.jsonschema2pojo.Schema)
{
io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule v;
com.sun.codemodel.JType v, v;
com.sun.codemodel.JPackage v;
org.jsonschema2pojo.Schema v;
com.fasterxml.jackson.databind.JsonNode v, v;
java.lang.String v;
boolean v;
v := @this: io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule;
v := @parameter: java.lang.String;
v := @parameter: com.fasterxml.jackson.databind.JsonNode;
v := @parameter: com.fasterxml.jackson.databind.JsonNode;
v := @parameter: com.sun.codemodel.JPackage;
v := @parameter: org.jsonschema2pojo.Schema;
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: boolean has(java.lang.String)>("interfaceType");
if v == 0 goto label;
v = specialinvoke v.<io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule: com.sun.codemodel.JType createInterface(com.fasterxml.jackson.databind.JsonNode,com.sun.codemodel.JPackage)>(v, v);
return v;
label:
v = specialinvoke v.<org.jsonschema2pojo.rules.ObjectRule: com.sun.codemodel.JType apply(java.lang.String,com.fasterxml.jackson.databind.JsonNode,com.fasterxml.jackson.databind.JsonNode,com.sun.codemodel.JPackage,org.jsonschema2pojo.Schema)>(v, v, v, v, v);
return v;
}
private com.sun.codemodel.JType createInterface(com.fasterxml.jackson.databind.JsonNode, com.sun.codemodel.JPackage)
{
com.sun.codemodel.JCodeModel v, v;
io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule v;
org.jsonschema2pojo.Annotator v, v;
com.fasterxml.jackson.databind.JsonNode v, v, v;
org.jsonschema2pojo.rules.RuleFactory v, v;
boolean v, v;
com.fasterxml.jackson.'annotation'.JsonTypeInfo$Id v;
java.lang.Throwable v;
com.sun.codemodel.JAnnotationArrayMember v;
com.sun.codemodel.JAnnotationUse v, v, v, v, v;
java.util.ArrayList v;
int v, v, v;
java.lang.String v, v, v;
java.util.Iterator v;
com.sun.codemodel.JDefinedClass v, v;
com.sun.codemodel.JPackage v;
java.lang.Object v, v;
com.sun.codemodel.JClass v, v;
v := @this: io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule;
v := @parameter: com.fasterxml.jackson.databind.JsonNode;
v := @parameter: com.sun.codemodel.JPackage;
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: com.fasterxml.jackson.databind.JsonNode path(java.lang.String)>("interfaceType");
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: java.lang.String asText()>();
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>(".");
v = v + 1;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<com.sun.codemodel.JPackage: com.sun.codemodel.JDefinedClass _interface(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<com.sun.codemodel.JClassAlreadyExistsException: com.sun.codemodel.JDefinedClass getExistingClass()>();
return v;
label:
v = v.<io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule: org.jsonschema2pojo.rules.RuleFactory ruleFactory>;
v = virtualinvoke v.<org.jsonschema2pojo.rules.RuleFactory: org.jsonschema2pojo.Annotator getAnnotator()>();
interfaceinvoke v.<org.jsonschema2pojo.Annotator: void typeInfo(com.sun.codemodel.JDefinedClass,com.fasterxml.jackson.databind.JsonNode)>(v, v);
v = v.<io.fabric.kubernetes.jsonschema2pojo.Fabric8ObjectRule: org.jsonschema2pojo.rules.RuleFactory ruleFactory>;
v = virtualinvoke v.<org.jsonschema2pojo.rules.RuleFactory: org.jsonschema2pojo.Annotator getAnnotator()>();
interfaceinvoke v.<org.jsonschema2pojo.Annotator: void propertyInclusion(com.sun.codemodel.JDefinedClass,com.fasterxml.jackson.databind.JsonNode)>(v, v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: boolean has(java.lang.String)>("interfaceImpls");
if v == 0 goto label;
v = virtualinvoke v.<com.sun.codemodel.JDefinedClass: com.sun.codemodel.JAnnotationUse annotate(java.lang.Class)>(class "Lcom/fasterxml/jackson/databind/annotation/JsonTypeResolver;");
virtualinvoke v.<com.sun.codemodel.JAnnotationUse: com.sun.codemodel.JAnnotationUse param(java.lang.String,java.lang.Class)>("value", class "Lio/fabric8/kubernetes/model/jackson/UnwrappedTypeResolverBuilder;");
v = virtualinvoke v.<com.sun.codemodel.JDefinedClass: com.sun.codemodel.JAnnotationUse annotate(java.lang.Class)>(class "Lcom/fasterxml/jackson/annotation/JsonSubTypes;");
v = virtualinvoke v.<com.sun.codemodel.JAnnotationUse: com.sun.codemodel.JAnnotationArrayMember paramArray(java.lang.String)>("value");
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: com.fasterxml.jackson.databind.JsonNode get(java.lang.String)>("interfaceImpls");
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.JsonNode: java.lang.String textValue()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<com.sun.codemodel.JAnnotationArrayMember: com.sun.codemodel.JAnnotationUse annotate(java.lang.Class)>(class "Lcom/fasterxml/jackson/annotation/JsonSubTypes$Type;");
v = new com.sun.codemodel.JCodeModel;
specialinvoke v.<com.sun.codemodel.JCodeModel: void <init>()>();
v = virtualinvoke v.<com.sun.codemodel.JCodeModel: com.sun.codemodel.JClass ref(java.lang.String)>(v);
virtualinvoke v.<com.sun.codemodel.JAnnotationUse: com.sun.codemodel.JAnnotationUse param(java.lang.String,com.sun.codemodel.JType)>("value", v);
goto label;
label:
v = virtualinvoke v.<com.sun.codemodel.JDefinedClass: com.sun.codemodel.JAnnotationUse annotate(java.lang.Class)>(class "Lcom/fasterxml/jackson/annotation/JsonTypeInfo;");
v = <com.fasterxml.jackson.'annotation'.JsonTypeInfo$Id: com.fasterxml.jackson.'annotation'.JsonTypeInfo$Id DEDUCTION>;
v = virtualinvoke v.<com.sun.codemodel.JAnnotationUse: com.sun.codemodel.JAnnotationUse param(java.lang.String,java.lang.Enum)>("use", v);
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
v = new com.sun.codemodel.JCodeModel;
specialinvoke v.<com.sun.codemodel.JCodeModel: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<com.sun.codemodel.JCodeModel: com.sun.codemodel.JClass ref(java.lang.String)>(v);
virtualinvoke v.<com.sun.codemodel.JAnnotationUse: com.sun.codemodel.JAnnotationUse param(java.lang.String,com.sun.codemodel.JType)>("defaultImpl", v);
label:
return v;
catch com.sun.codemodel.JClassAlreadyExistsException from label to label with label;
}
}