public class org.apache.isis.applib.Identifier extends java.lang.Object implements java.lang.Comparable, org.apache.isis.applib.id.HasLogicalType, org.apache.isis.applib.services.i18n.HasTranslationContext, java.io.Serializable
{
private static final long serialVersionUID;
private final org.apache.isis.applib.id.LogicalType logicalType;
private final java.lang.String className;
private final java.lang.String memberLogicalName;
private final int parameterIndex;
private final org.apache.isis.commons.collections.Can memberParameterClassNames;
private final org.apache.isis.applib.Identifier$Type type;
private final java.lang.String fullIdentityString;
private final java.lang.String memberNameAndParameterClassNamesIdentityString;
private final org.apache.isis.applib.services.i18n.TranslationContext translationContext;
private static final char SPACE;
public static org.apache.isis.applib.Identifier classIdentifier(org.apache.isis.applib.id.LogicalType)
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier v;
org.apache.isis.applib.Identifier$Type v;
v := @parameter: org.apache.isis.applib.id.LogicalType;
v = new org.apache.isis.applib.Identifier;
v = staticinvoke <org.apache.isis.commons.collections.Can: org.apache.isis.commons.collections.Can empty()>();
v = <org.apache.isis.applib.Identifier$Type: org.apache.isis.applib.Identifier$Type CLASS>;
specialinvoke v.<org.apache.isis.applib.Identifier: void <init>(org.apache.isis.applib.id.LogicalType,java.lang.String,org.apache.isis.commons.collections.Can,org.apache.isis.applib.Identifier$Type)>(v, "", v, v);
return v;
}
public static org.apache.isis.applib.Identifier propertyOrCollectionIdentifier(org.apache.isis.applib.id.LogicalType, java.lang.String)
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier v;
java.lang.String v;
org.apache.isis.applib.Identifier$Type v;
v := @parameter: org.apache.isis.applib.id.LogicalType;
v := @parameter: java.lang.String;
v = new org.apache.isis.applib.Identifier;
v = staticinvoke <org.apache.isis.commons.collections.Can: org.apache.isis.commons.collections.Can empty()>();
v = <org.apache.isis.applib.Identifier$Type: org.apache.isis.applib.Identifier$Type PROPERTY_OR_COLLECTION>;
specialinvoke v.<org.apache.isis.applib.Identifier: void <init>(org.apache.isis.applib.id.LogicalType,java.lang.String,org.apache.isis.commons.collections.Can,org.apache.isis.applib.Identifier$Type)>(v, v, v, v);
return v;
}
public static org.apache.isis.applib.Identifier methodIdentifier(org.apache.isis.applib.id.LogicalType, java.lang.reflect.Method)
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.applib.Identifier v;
java.lang.Class[] v;
java.lang.String v;
java.lang.reflect.Method v;
v := @parameter: org.apache.isis.applib.id.LogicalType;
v := @parameter: java.lang.reflect.Method;
v = staticinvoke <org.apache.isis.commons.internal.reflection._Reflect: java.lang.String methodToShortString(java.lang.reflect.Method)>(v);
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = staticinvoke <org.apache.isis.applib.Identifier: org.apache.isis.applib.Identifier actionIdentifier(org.apache.isis.applib.id.LogicalType,java.lang.String,java.lang.Class[])>(v, v, v);
return v;
}
public static transient org.apache.isis.applib.Identifier actionIdentifier(org.apache.isis.applib.id.LogicalType, java.lang.String, java.lang.Class[])
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier v;
java.lang.Class[] v;
java.lang.String v;
v := @parameter: org.apache.isis.applib.id.LogicalType;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class[];
v = staticinvoke <org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can classNamesOf(java.lang.Class[])>(v);
v = staticinvoke <org.apache.isis.applib.Identifier: org.apache.isis.applib.Identifier actionIdentifier(org.apache.isis.applib.id.LogicalType,java.lang.String,org.apache.isis.commons.collections.Can)>(v, v, v);
return v;
}
public static org.apache.isis.applib.Identifier actionIdentifier(org.apache.isis.applib.id.LogicalType, java.lang.String, org.apache.isis.commons.collections.Can)
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier v;
java.lang.String v;
org.apache.isis.applib.Identifier$Type v;
v := @parameter: org.apache.isis.applib.id.LogicalType;
v := @parameter: java.lang.String;
v := @parameter: org.apache.isis.commons.collections.Can;
v = new org.apache.isis.applib.Identifier;
v = <org.apache.isis.applib.Identifier$Type: org.apache.isis.applib.Identifier$Type ACTION>;
specialinvoke v.<org.apache.isis.applib.Identifier: void <init>(org.apache.isis.applib.id.LogicalType,java.lang.String,org.apache.isis.commons.collections.Can,org.apache.isis.applib.Identifier$Type)>(v, v, v, v);
return v;
}
private void <init>(org.apache.isis.applib.id.LogicalType, java.lang.String, org.apache.isis.commons.collections.Can, org.apache.isis.applib.Identifier$Type)
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier v;
int v;
java.lang.String v;
org.apache.isis.applib.Identifier$Type v;
v := @this: org.apache.isis.applib.Identifier;
v := @parameter: org.apache.isis.applib.id.LogicalType;
v := @parameter: java.lang.String;
v := @parameter: org.apache.isis.commons.collections.Can;
v := @parameter: org.apache.isis.applib.Identifier$Type;
v = (int) -1;
specialinvoke v.<org.apache.isis.applib.Identifier: void <init>(org.apache.isis.applib.id.LogicalType,java.lang.String,org.apache.isis.commons.collections.Can,org.apache.isis.applib.Identifier$Type,int)>(v, v, v, v, v);
return;
}
private void <init>(org.apache.isis.applib.id.LogicalType, java.lang.String, org.apache.isis.commons.collections.Can, org.apache.isis.applib.Identifier$Type, int)
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier$Type v;
org.apache.isis.applib.services.i18n.TranslationContext v;
org.apache.isis.applib.Identifier v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
java.util.stream.Collector v;
boolean v, v, v;
java.util.stream.Stream v;
java.lang.Object v;
v := @this: org.apache.isis.applib.Identifier;
v := @parameter: org.apache.isis.applib.id.LogicalType;
v := @parameter: java.lang.String;
v := @parameter: org.apache.isis.commons.collections.Can;
v := @parameter: org.apache.isis.applib.Identifier$Type;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.isis.applib.Identifier: org.apache.isis.applib.id.LogicalType logicalType> = v;
v = virtualinvoke v.<org.apache.isis.applib.id.LogicalType: java.lang.String getClassName()>();
v.<org.apache.isis.applib.Identifier: java.lang.String className> = v;
v.<org.apache.isis.applib.Identifier: java.lang.String memberLogicalName> = v;
v.<org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can memberParameterClassNames> = v;
v.<org.apache.isis.applib.Identifier: org.apache.isis.applib.Identifier$Type type> = v;
v.<org.apache.isis.applib.Identifier: int parameterIndex> = v;
v = virtualinvoke v.<org.apache.isis.applib.Identifier$Type: boolean isAction()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.isis.commons.collections.Can: java.util.stream.Stream stream()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>(",");
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(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[])>("(\u)");
goto label;
label:
v = "";
label:
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[])>("\u0001\u0001");
v.<org.apache.isis.applib.Identifier: java.lang.String memberNameAndParameterClassNamesIdentityString> = v;
v = v.<org.apache.isis.applib.Identifier: java.lang.String className>;
v = virtualinvoke v.<org.apache.isis.applib.Identifier$Type: boolean isAction()>();
if v == 0 goto label;
v = "()";
goto label;
label:
v = "";
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("\u0001#\u0001\u0001");
v = staticinvoke <org.apache.isis.applib.services.i18n.TranslationContext: org.apache.isis.applib.services.i18n.TranslationContext ofName(java.lang.String)>(v);
v.<org.apache.isis.applib.Identifier: org.apache.isis.applib.services.i18n.TranslationContext translationContext> = v;
v = staticinvoke <org.apache.isis.commons.internal.base._Strings: boolean isEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = v.<org.apache.isis.applib.Identifier: java.lang.String className>;
goto label;
label:
v = v.<org.apache.isis.applib.Identifier: java.lang.String className>;
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberNameAndParameterClassNamesIdentityString>;
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[])>("\u0001#\u0001");
label:
v.<org.apache.isis.applib.Identifier: java.lang.String fullIdentityString> = v;
return;
}
public org.apache.isis.applib.Identifier withParameterIndex(int)
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier v, v;
int v;
java.lang.String v;
org.apache.isis.applib.Identifier$Type v;
v := @this: org.apache.isis.applib.Identifier;
v := @parameter: int;
v = new org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.applib.id.LogicalType logicalType>;
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberLogicalName>;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can memberParameterClassNames>;
v = <org.apache.isis.applib.Identifier$Type: org.apache.isis.applib.Identifier$Type ACTION_PARAMETER>;
specialinvoke v.<org.apache.isis.applib.Identifier: void <init>(org.apache.isis.applib.id.LogicalType,java.lang.String,org.apache.isis.commons.collections.Can,org.apache.isis.applib.Identifier$Type,int)>(v, v, v, v, v);
return v;
}
public java.lang.String getLogicalIdentityString(java.lang.String)
{
org.apache.isis.applib.Identifier v;
java.lang.String v, v, v, v;
java.lang.NullPointerException v;
v := @this: org.apache.isis.applib.Identifier;
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)>("delimiter is marked non-null but is null");
throw v;
label:
v = virtualinvoke v.<org.apache.isis.applib.Identifier: java.lang.String getLogicalTypeName()>();
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberNameAndParameterClassNamesIdentityString>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("\u0001\u0001\u0001");
return v;
}
public java.lang.String getClassNaturalName()
{
org.apache.isis.applib.Identifier v;
int v, v;
java.lang.String v, v, v;
v := @this: org.apache.isis.applib.Identifier;
v = virtualinvoke v.<org.apache.isis.applib.Identifier: java.lang.String getClassName()>();
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <org.apache.isis.applib.Identifier: java.lang.String naturalName(java.lang.String)>(v);
return v;
}
public java.lang.String getMemberNaturalName()
{
java.lang.String v, v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberLogicalName>;
v = staticinvoke <org.apache.isis.applib.Identifier: java.lang.String naturalName(java.lang.String)>(v);
return v;
}
public org.apache.isis.commons.collections.Can getMemberParameterClassNaturalNames()
{
org.apache.isis.commons.collections.Can v, v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can memberParameterClassNames>;
v = staticinvoke <org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can naturalNames(org.apache.isis.commons.collections.Can)>(v);
return v;
}
public int compareTo(org.apache.isis.applib.Identifier)
{
org.apache.isis.applib.Identifier v, v;
int v;
java.lang.String v, v;
v := @this: org.apache.isis.applib.Identifier;
v := @parameter: org.apache.isis.applib.Identifier;
v = virtualinvoke v.<org.apache.isis.applib.Identifier: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.isis.applib.Identifier: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: int compareTo(java.lang.String)>(v);
return v;
}
public boolean equals(java.lang.Object)
{
org.apache.isis.applib.Identifier v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.isis.applib.Identifier;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
v = v instanceof org.apache.isis.applib.Identifier;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.isis.applib.Identifier: boolean isEqualTo(org.apache.isis.applib.Identifier)>(v);
return v;
label:
return 0;
}
public boolean isEqualTo(org.apache.isis.applib.Identifier)
{
org.apache.isis.commons.collections.Can v, v;
org.apache.isis.applib.Identifier v, v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
v := @this: org.apache.isis.applib.Identifier;
v := @parameter: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: java.lang.String className>;
v = v.<org.apache.isis.applib.Identifier: java.lang.String className>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberLogicalName>;
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberLogicalName>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can memberParameterClassNames>;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can memberParameterClassNames>;
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int hashCode()
{
int v;
java.lang.String v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = virtualinvoke v.<org.apache.isis.applib.Identifier: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: int hashCode()>();
return v;
}
public java.lang.String toString()
{
java.lang.String v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: java.lang.String fullIdentityString>;
return v;
}
private static org.apache.isis.commons.collections.Can classNamesOf(java.lang.Class[])
{
org.apache.isis.commons.collections.Can v, v;
java.lang.Class[] v;
java.util.function.Function v;
v := @parameter: java.lang.Class[];
v = staticinvoke <org.apache.isis.commons.collections.Can: org.apache.isis.commons.collections.Can ofArray(java.lang.Object[])>(v);
v = staticinvoke <org.apache.isis.applib.Identifier$getName__1: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.apache.isis.commons.collections.Can: org.apache.isis.commons.collections.Can map(java.util.function.Function)>(v);
return v;
}
public static java.lang.String naturalName(java.lang.String)
{
java.lang.StringBuffer v;
int v, v;
java.lang.String v, v, v;
boolean v, v, v, v, v, v, v;
char v, v, v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
if v > 1 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase()>();
return v;
label:
v = new java.lang.StringBuffer;
specialinvoke v.<java.lang.StringBuffer: void <init>(int)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
v = staticinvoke <java.lang.Character: char toUpperCase(char)>(v);
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(char)>(v);
v = virtualinvoke v.<java.lang.String: char charAt(int)>(1);
v = 2;
label:
if v >= v goto label;
v = v;
v = v;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v == 32 goto label;
v = staticinvoke <java.lang.Character: boolean isUpperCase(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isUpperCase(char)>(v);
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(char)>(32);
label:
v = staticinvoke <java.lang.Character: boolean isUpperCase(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isLowerCase(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isUpperCase(char)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(char)>(32);
label:
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Character: boolean isDigit(char)>(v);
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(char)>(32);
label:
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(char)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(char)>(v);
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
return v;
}
private static org.apache.isis.commons.collections.Can naturalNames(org.apache.isis.commons.collections.Can)
{
java.util.function.Function v;
org.apache.isis.commons.collections.Can v, v;
v := @parameter: org.apache.isis.commons.collections.Can;
v = staticinvoke <org.apache.isis.applib.Identifier$naturalName__2: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<org.apache.isis.commons.collections.Can: org.apache.isis.commons.collections.Can map(java.util.function.Function)>(v);
return v;
}
public org.apache.isis.applib.id.LogicalType getLogicalType()
{
org.apache.isis.applib.id.LogicalType v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.applib.id.LogicalType logicalType>;
return v;
}
public java.lang.String getClassName()
{
java.lang.String v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: java.lang.String className>;
return v;
}
public java.lang.String getMemberLogicalName()
{
java.lang.String v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberLogicalName>;
return v;
}
public int getParameterIndex()
{
int v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: int parameterIndex>;
return v;
}
public org.apache.isis.commons.collections.Can getMemberParameterClassNames()
{
org.apache.isis.commons.collections.Can v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.commons.collections.Can memberParameterClassNames>;
return v;
}
public org.apache.isis.applib.Identifier$Type getType()
{
org.apache.isis.applib.Identifier$Type v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.applib.Identifier$Type type>;
return v;
}
public java.lang.String getFullIdentityString()
{
java.lang.String v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: java.lang.String fullIdentityString>;
return v;
}
public java.lang.String getMemberNameAndParameterClassNamesIdentityString()
{
java.lang.String v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: java.lang.String memberNameAndParameterClassNamesIdentityString>;
return v;
}
public org.apache.isis.applib.services.i18n.TranslationContext getTranslationContext()
{
org.apache.isis.applib.services.i18n.TranslationContext v;
org.apache.isis.applib.Identifier v;
v := @this: org.apache.isis.applib.Identifier;
v = v.<org.apache.isis.applib.Identifier: org.apache.isis.applib.services.i18n.TranslationContext translationContext>;
return v;
}
}