public class org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory extends org.apache.isis.core.metamodel.facets.FacetFactoryAbstract
{
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.commons.collections.ImmutableEnumSet v;
org.apache.isis.core.metamodel.context.MetaModelContext v;
org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory v;
org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory;
v := @parameter: org.apache.isis.core.metamodel.context.MetaModelContext;
v := @parameter: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext;
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.version.JdoVersionAnnotationFacetFactory: org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext jdoFacetContext> = v;
return;
}
public void process(org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext)
{
org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory v;
org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext v;
java.util.Optional v, v;
org.apache.isis.persistence.jdo.provider.entities.JdoFacetContext v;
java.lang.Class v;
boolean v, v;
org.apache.isis.core.metamodel.facetapi.FacetHolder v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory;
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.version.JdoVersionAnnotationFacetFactory: 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/Version;");
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: org.apache.isis.core.metamodel.facetapi.FacetHolder getFacetHolder()>();
v = staticinvoke <org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionFacetFromAnnotation: java.util.Optional create(java.util.Optional,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
staticinvoke <org.apache.isis.core.metamodel.facetapi.FacetUtil: java.util.Optional addFacetIfPresent(java.util.Optional)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
specialinvoke v.<org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory: void guardAgainstAmbiguousVersion(org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext)>(v);
label:
return;
}
private void guardAgainstAmbiguousVersion(org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext)
{
java.lang.Object[] v;
org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory v;
org.apache.isis.commons.internal.reflection._Reflect$InterfacePolicy v;
java.util.Set v;
org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext v;
java.util.LinkedHashMap v;
java.util.function.Consumer v;
java.util.stream.Stream v;
int v;
java.lang.Class v;
org.apache.isis.core.metamodel.facetapi.FacetHolder v;
v := @this: org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory;
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 = staticinvoke <org.apache.isis.commons.internal.collections._Maps: java.util.LinkedHashMap newLinkedHashMap()>();
v = <org.apache.isis.commons.internal.reflection._Reflect$InterfacePolicy: org.apache.isis.commons.internal.reflection._Reflect$InterfacePolicy EXCLUDE>;
v = staticinvoke <org.apache.isis.commons.internal.reflection._Reflect: java.util.stream.Stream streamTypeHierarchy(java.lang.Class,org.apache.isis.commons.internal.reflection._Reflect$InterfacePolicy)>(v, v);
v = staticinvoke <org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionAnnotationFacetFactory$lambda_guardAgainstAmbiguousVersion_1__11: java.util.function.Consumer bootstrap$(java.util.LinkedHashMap)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<java.util.LinkedHashMap: int size()>();
if v <= 1 goto label;
v = virtualinvoke v.<org.apache.isis.core.metamodel.facets.FacetFactory$ProcessClassContext: org.apache.isis.core.metamodel.facetapi.FacetHolder getFacetHolder()>();
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.util.LinkedHashMap: java.util.Set keySet()>();
v[0] = v;
staticinvoke <org.apache.isis.core.metamodel.specloader.validator.ValidationFailure: void raiseFormatted(org.apache.isis.core.metamodel.facetapi.FacetHolder,java.lang.String,java.lang.Object[])>(v, "@Version annotation is ambiguous within a class hierarchy, there can be only one. Conflicting types are: %s", v);
label:
return;
}
}