public class org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory extends org.apache.isis.core.metamodel.facets.FacetFactoryAbstract implements org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory
{
private final org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry classSubstitutorRegistry;
private final org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext;
public void <init>(org.apache.isis.core.metamodel.context.MetaModelContext, org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext, org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry)
{
org.apache.isis.commons.collections.ImmutableEnumSet v;
org.apache.isis.core.metamodel.context.MetaModelContext v;
org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory v;
org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext v;
org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory;
v := @parameter: org.apache.isis.core.metamodel.context.MetaModelContext;
v := @parameter: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext;
v := @parameter: org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry;
v = <org.apache.isis.core.metamodel.facetapi.FeatureType: org.apache.isis.commons.collections.ImmutableEnumSet OBJECTS_ONLY>;
specialinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactoryAbstract: void <init>(org.apache.isis.core.metamodel.context.MetaModelContext,org.apache.isis.commons.collections.ImmutableEnumSet)>(v, v);
v.<org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext> = v;
v.<org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory: org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry classSubstitutorRegistry> = v;
return;
}
public void process(org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory$ProcessObjectTypeContext)
{
org.apache.isis.applib.id.LogicalType v, v;
org.apache.isis.core.metamodel.facets.object.logicaltype.classname.LogicalTypeFacetFromClassName v;
java.lang.String v, v;
boolean v, v, v;
org.apache.isis.core.metamodel.facetapi.FacetHolder v;
org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.LogicalTypeFacetFromJdoDiscriminatorValueAnnotation v;
org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry v;
org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory$ProcessObjectTypeContext v;
org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutor$Substitution v;
org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory v;
java.util.Optional v;
org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory;
v := @parameter: org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory$ProcessObjectTypeContext;
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory$ProcessObjectTypeContext: java.lang.Class getCls()>();
v = v.<org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext>;
v = interfaceinvoke v.<org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext: boolean isPersistenceEnhanced(java.lang.Class)>(v);
if v != 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory$ProcessObjectTypeContext: java.util.Optional synthesizeOnType(java.lang.Class)>(class "Ljavax/jdo/annotations/Discriminator;");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
if v != null goto label;
return;
label:
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.ObjectTypeFacetFactory$ProcessObjectTypeContext: org.apache.isis.core.metamodel.facetapi.FacetHolder getFacetHolder()>();
v = interfaceinvoke v.<javax.jdo.annotations.Discriminator: java.lang.String value()>();
v = staticinvoke <org.apache.isis.commons.internal.base._Strings: boolean isNullOrEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = new org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.LogicalTypeFacetFromJdoDiscriminatorValueAnnotation;
v = staticinvoke <org.apache.isis.applib.id.LogicalType: org.apache.isis.applib.id.LogicalType eager(java.lang.Class,java.lang.String)>(v, v);
specialinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.LogicalTypeFacetFromJdoDiscriminatorValueAnnotation: void <init>(org.apache.isis.applib.id.LogicalType,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
v = v;
goto label;
label:
v = v.<org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory: org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry classSubstitutorRegistry>;
v = virtualinvoke v.<org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutorRegistry: org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutor$Substitution getSubstitution(java.lang.Class)>(v);
v = virtualinvoke v.<org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutor$Substitution: boolean isNeverIntrospect()>();
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.isis.core.metamodel.services.classsubstitutor.ClassSubstitutor$Substitution: java.lang.Class apply(java.lang.Class)>(v);
v = new org.apache.isis.core.metamodel.facets.object.logicaltype.classname.LogicalTypeFacetFromClassName;
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = staticinvoke <org.apache.isis.applib.id.LogicalType: org.apache.isis.applib.id.LogicalType eager(java.lang.Class,java.lang.String)>(v, v);
specialinvoke v.<org.apache.isis.core.metamodel.facets.object.logicaltype.classname.LogicalTypeFacetFromClassName: void <init>(org.apache.isis.applib.id.LogicalType,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
v = v;
label:
staticinvoke <org.apache.isis.core.metamodel.facetapi.FacetUtil: org.apache.isis.core.metamodel.facetapi.Facet addFacet(org.apache.isis.core.metamodel.facetapi.Facet)>(v);
return;
}
public void process(org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext)
{
org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext v;
org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory v;
org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorFacetDefault v;
java.util.Optional v;
org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v;
boolean v;
org.apache.isis.core.metamodel.facetapi.FacetHolder v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory;
v := @parameter: org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext;
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: java.lang.Class getCls()>();
v = v.<org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorAnnotationFacetFactory: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext>;
v = interfaceinvoke v.<org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext: boolean isPersistenceEnhanced(java.lang.Class)>(v);
if v != 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: java.util.Optional synthesizeOnType(java.lang.Class)>(class "Ljavax/jdo/annotations/Discriminator;");
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
if v != null goto label;
return;
label:
v = interfaceinvoke v.<javax.jdo.annotations.Discriminator: java.lang.String value()>();
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: org.apache.isis.core.metamodel.facetapi.FacetHolder getFacetHolder()>();
v = new org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorFacetDefault;
specialinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.discriminator.JdoDiscriminatorFacetDefault: void <init>(java.lang.String,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
staticinvoke <org.apache.isis.core.metamodel.facetapi.FacetUtil: org.apache.isis.core.metamodel.facetapi.Facet addFacet(org.apache.isis.core.metamodel.facetapi.Facet)>(v);
return;
}
}