public class org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder extends java.lang.Object
{
private static final org.apache.logging.log4j.Logger log;
private org.apache.isis.core.metamodel.specloader.SpecificationLoader specificationLoader;
private java.util.Map converterByClass;
public void <init>()
{
java.util.LinkedHashMap v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder v;
v := @this: org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.apache.isis.commons.internal.collections._Maps: java.util.LinkedHashMap newLinkedHashMap()>();
v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: java.util.Map converterByClass> = v;
return;
}
public void init()
{
java.util.function.Consumer v;
java.util.List v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder_Converters v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder v;
java.util.function.Function v;
v := @this: org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$lambda_init_0__7: java.util.function.Function bootstrap$(org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder)>(v);
v = new org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder_Converters;
specialinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder_Converters: void <init>()>();
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder_Converters: java.util.List asList(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$registerConverter__8: java.util.function.Consumer bootstrap$(org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return;
}
public void registerConverter(org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter)
{
java.util.function.Consumer v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter v;
v := @this: org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
v := @parameter: org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter;
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter: org.apache.isis.commons.collections.Can getClasses()>();
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$lambda_registerConverter_1__9: java.util.function.Consumer bootstrap$(org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder,org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter)>(v, v);
interfaceinvoke v.<org.apache.isis.commons.collections.Can: void forEach(java.util.function.Consumer)>(v);
return;
}
public org.apache.isis.core.metamodel.spec.ManagedObject asAdapter(org.apache.isis.core.metamodel.spec.ObjectSpecification, org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation, java.lang.String)
{
java.lang.Throwable v;
java.util.Map v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.isis.core.metamodel.spec.ManagedObject v, v, v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
java.lang.IllegalArgumentException v, v, v, v, v, v;
org.apache.isis.core.metamodel.facetapi.Facet v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder v;
org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation v;
java.lang.Class v;
java.lang.Object v, v, v;
org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format v, v;
v := @this: org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("ObjectSpecification is required");
throw v;
label:
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: boolean isValue()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Representation must be of a value");
throw v;
label:
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: org.apache.isis.core.metamodel.facetapi.Facet getFacet(java.lang.Class)>(class "Lorg/apache/isis/core/metamodel/facets/object/value/ValueFacet;");
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("ObjectSpec expected to have a ValueFacet");
throw v;
label:
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: java.lang.Class getCorrespondingClass()>();
v = v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: java.util.Map converterByClass>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: boolean isString()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: java.lang.String asString()>();
v = <org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format: org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format JSON>;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.facets.object.value.ValueFacet: java.lang.Object fromEncodedString(org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format,java.lang.String)>(v, v);
v = staticinvoke <org.apache.isis.core.metamodel.spec.ManagedObject: org.apache.isis.core.metamodel.spec.ManagedObject of(org.apache.isis.core.metamodel.spec.ObjectSpecification,java.lang.Object)>(v, v);
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Unable to parse value");
throw v;
label:
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter: org.apache.isis.core.metamodel.spec.ManagedObject asAdapter(org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation,java.lang.String)>(v, v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: boolean isString()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: java.lang.String asString()>();
label:
v = <org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format: org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format JSON>;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.facets.object.value.ValueFacet: java.lang.Object fromEncodedString(org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format,java.lang.String)>(v, v);
v = staticinvoke <org.apache.isis.core.metamodel.spec.ManagedObject: org.apache.isis.core.metamodel.spec.ManagedObject of(org.apache.isis.core.metamodel.spec.ObjectSpecification,java.lang.Object)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<org.apache.isis.applib.exceptions.recoverable.TextEntryParseException: java.lang.String getMessage()>();
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: java.lang.String asString()>();
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: java.lang.String getFullIdentifier()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not parse value \'\u0001\' as a \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
catch org.apache.isis.applib.exceptions.recoverable.TextEntryParseException from label to label with label;
}
public java.lang.Object appendValueAndFormat(org.apache.isis.core.metamodel.spec.ManagedObject, org.apache.isis.core.metamodel.spec.ObjectSpecification, org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation, java.lang.String, boolean)
{
java.util.function.Function v;
java.util.function.Supplier v;
java.util.Map v;
java.lang.String v;
boolean v, v;
org.apache.isis.core.metamodel.spec.ManagedObject v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder v;
java.util.Optional v, v;
org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation v;
java.lang.Class v;
java.lang.Object v, v, v, v;
v := @this: org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
v := @parameter: org.apache.isis.core.metamodel.spec.ManagedObject;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: java.lang.Class getCorrespondingClass()>();
v = v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: java.util.Map converterByClass>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter: java.lang.Object appendValueAndFormat(org.apache.isis.core.metamodel.spec.ManagedObject,java.lang.String,org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation,boolean)>(v, v, v, v);
return v;
label:
v = staticinvoke <org.apache.isis.core.metamodel.spec.ManagedObjects: boolean isNullOrUnspecifiedOrEmpty(org.apache.isis.core.metamodel.spec.ManagedObject)>(v);
if v == 0 goto label;
v = staticinvoke <com.fasterxml.jackson.databind.node.NullNode: com.fasterxml.jackson.databind.node.NullNode getInstance()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ManagedObject: java.lang.Object getPojo()>();
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: java.util.Optional decomposeToJson(org.apache.isis.core.metamodel.spec.ObjectSpecification,java.lang.Object)>(v, v);
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(class "Ljava/lang/Object;");
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$cast__10: java.util.function.Function bootstrap$(java.lang.Class)>(class "Ljava/lang/Object;");
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$lambda_appendValueAndFormat_2__11: java.util.function.Supplier bootstrap$(org.apache.isis.core.metamodel.spec.ObjectSpecification)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
label:
virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation mapPut(java.lang.String,java.lang.Object)>("value", v);
staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: void appendFormats(org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation,java.lang.String,java.lang.String,boolean)>(v, "string", "string", v);
return v;
}
private static java.util.Optional decompose(org.apache.isis.core.metamodel.spec.ObjectSpecification, java.lang.Object)
{
java.util.Optional v, v, v;
java.lang.Object v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
java.util.function.Function v, v;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: java.lang.Object;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: java.util.Optional lookupFacet(java.lang.Class)>(class "Lorg/apache/isis/core/metamodel/facets/object/value/ValueFacet;");
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$selectDefaultSemantics__12: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional flatMap(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$lambda_decompose_3__13: java.util.function.Function bootstrap$(java.lang.Object)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
return v;
}
private static java.util.Optional decomposeToJson(org.apache.isis.core.metamodel.spec.ObjectSpecification, java.lang.Object)
{
java.util.Optional v, v;
java.lang.Object v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
java.util.function.Function v;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: java.lang.Object;
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: java.util.Optional decompose(org.apache.isis.core.metamodel.spec.ObjectSpecification,java.lang.Object)>(v, v);
v = staticinvoke <org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$toJson__14: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
return v;
}
public java.lang.Object asObject(org.apache.isis.core.metamodel.spec.ManagedObject, java.lang.String)
{
org.apache.isis.core.metamodel.spec.ManagedObject v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
java.lang.IllegalArgumentException v;
java.lang.NullPointerException v;
org.apache.isis.core.metamodel.facetapi.Facet v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder v;
java.util.Map v;
java.lang.Class v;
java.lang.Object v, v, v;
java.lang.String v, v;
org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format v;
v := @this: org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
v := @parameter: org.apache.isis.core.metamodel.spec.ManagedObject;
v := @parameter: java.lang.String;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("adapter is marked non-null but is null");
throw v;
label:
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ManagedObject: org.apache.isis.core.metamodel.spec.ObjectSpecification getSpecification()>();
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: java.lang.Class getCorrespondingClass()>();
v = v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: java.util.Map converterByClass>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder$JsonValueConverter: java.lang.Object asObject(org.apache.isis.core.metamodel.spec.ManagedObject,java.lang.String)>(v, v);
return v;
label:
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: org.apache.isis.core.metamodel.facetapi.Facet getFacet(java.lang.Class)>(class "Lorg/apache/isis/core/metamodel/facets/object/value/ValueFacet;");
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("objectSpec expected to have ValueFacet");
throw v;
label:
v = <org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format: org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format JSON>;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ManagedObject: java.lang.Object getPojo()>();
v = interfaceinvoke v.<org.apache.isis.core.metamodel.facets.object.value.ValueFacet: java.lang.String toEncodedString(org.apache.isis.core.metamodel.facets.object.value.ValueSerializer$Format,java.lang.Object)>(v, v);
return v;
}
static void appendFormats(org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation, java.lang.String, java.lang.String, boolean)
{
org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation v;
java.lang.String v, v;
boolean v;
v := @parameter: org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
if v == null goto label;
virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation mapPut(java.lang.String,java.lang.String)>("format", v);
label:
if v != 0 goto label;
if v == null goto label;
virtualinvoke v.<org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation: org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation mapPut(java.lang.String,java.lang.String)>("extensions.x-isis-format", v);
label:
return;
}
static java.lang.Object unwrapAsObjectElseNullNode(org.apache.isis.core.metamodel.spec.ManagedObject)
{
java.lang.Object v;
org.apache.isis.core.metamodel.spec.ManagedObject v;
v := @parameter: org.apache.isis.core.metamodel.spec.ManagedObject;
if v == null goto label;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ManagedObject: java.lang.Object getPojo()>();
goto label;
label:
v = staticinvoke <com.fasterxml.jackson.databind.node.NullNode: com.fasterxml.jackson.databind.node.NullNode getInstance()>();
label:
return v;
}
public static org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder forTesting(org.apache.isis.core.metamodel.specloader.SpecificationLoader)
{
org.apache.isis.core.metamodel.specloader.SpecificationLoader v;
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder v;
v := @parameter: org.apache.isis.core.metamodel.specloader.SpecificationLoader;
v = new org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder;
specialinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: void <init>()>();
v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: org.apache.isis.core.metamodel.specloader.SpecificationLoader specificationLoader> = v;
virtualinvoke v.<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: void init()>();
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.Logger v;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/isis/viewer/restfulobjects/rendering/domainobjects/JsonValueEncoder;");
<org.apache.isis.viewer.restfulobjects.rendering.domainobjects.JsonValueEncoder: org.apache.logging.log4j.Logger log> = v;
return;
}
}