class org.apache.isis.applib.util.ObjectContract_Impl extends java.lang.Object implements org.apache.isis.applib.util.ObjectContracts$ObjectContract
{
private final org.apache.isis.applib.util.Equality equality;
private final org.apache.isis.applib.util.Hashing hashing;
private final org.apache.isis.applib.util.ToString toString;
private final java.util.Comparator comparator;
java.util.function.Function valueToStringFunction;
void <init>(org.apache.isis.applib.util.Equality, org.apache.isis.applib.util.Hashing, org.apache.isis.applib.util.ToString, java.util.Comparator)
{
org.apache.isis.applib.util.Hashing v;
org.apache.isis.applib.util.ToString v;
org.apache.isis.applib.util.Equality v;
org.apache.isis.applib.util.ObjectContract_Impl v;
java.util.Comparator v;
v := @this: org.apache.isis.applib.util.ObjectContract_Impl;
v := @parameter: org.apache.isis.applib.util.Equality;
v := @parameter: org.apache.isis.applib.util.Hashing;
v := @parameter: org.apache.isis.applib.util.ToString;
v := @parameter: java.util.Comparator;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.Equality equality> = v;
v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.Hashing hashing> = v;
v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.ToString toString> = v;
v.<org.apache.isis.applib.util.ObjectContract_Impl: java.util.Comparator comparator> = v;
return;
}
public int compare(java.lang.Object, java.lang.Object)
{
int v;
org.apache.isis.applib.util.ObjectContract_Impl v;
java.lang.Object v, v;
java.util.Comparator v;
v := @this: org.apache.isis.applib.util.ObjectContract_Impl;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: java.util.Comparator comparator>;
v = interfaceinvoke v.<java.util.Comparator: int compare(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public boolean equals(java.lang.Object, java.lang.Object)
{
org.apache.isis.applib.util.Equality v;
org.apache.isis.applib.util.ObjectContract_Impl v;
java.lang.Object v, v;
boolean v;
v := @this: org.apache.isis.applib.util.ObjectContract_Impl;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.Object;
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.Equality equality>;
v = virtualinvoke v.<org.apache.isis.applib.util.Equality: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public int hashCode(java.lang.Object)
{
org.apache.isis.applib.util.Hashing v;
int v;
org.apache.isis.applib.util.ObjectContract_Impl v;
java.lang.Object v;
v := @this: org.apache.isis.applib.util.ObjectContract_Impl;
v := @parameter: java.lang.Object;
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.Hashing hashing>;
v = virtualinvoke v.<org.apache.isis.applib.util.Hashing: int hashCode(java.lang.Object)>(v);
return v;
}
public java.lang.String toString(java.lang.Object)
{
org.apache.isis.applib.util.ToString v;
org.apache.isis.applib.util.ObjectContract_Impl v;
java.lang.Object v;
java.lang.String v;
java.util.function.Function v;
v := @this: org.apache.isis.applib.util.ObjectContract_Impl;
v := @parameter: java.lang.Object;
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.ToString toString>;
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: java.util.function.Function valueToStringFunction>;
v = virtualinvoke v.<org.apache.isis.applib.util.ToString: java.lang.String toString(java.lang.Object,java.util.function.Function)>(v, v);
return v;
}
public org.apache.isis.applib.util.ObjectContracts$ObjectContract withValueToStringFunction(java.util.function.Function)
{
org.apache.isis.applib.util.ObjectContract_Impl v;
java.util.function.Function v;
v := @this: org.apache.isis.applib.util.ObjectContract_Impl;
v := @parameter: java.util.function.Function;
v.<org.apache.isis.applib.util.ObjectContract_Impl: java.util.function.Function valueToStringFunction> = v;
return v;
}
public org.apache.isis.applib.util.ObjectContracts$ObjectContract thenUse(java.lang.String, java.util.function.Function, java.util.Comparator)
{
org.apache.isis.applib.util.ToString v, v;
org.apache.isis.applib.util.Equality v, v;
java.util.function.Function v, v;
org.apache.isis.applib.util.Hashing v, v;
org.apache.isis.applib.util.ObjectContract_Impl v, v;
java.lang.String v;
java.util.Comparator v, v, v, v;
v := @this: org.apache.isis.applib.util.ObjectContract_Impl;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Function;
v := @parameter: java.util.Comparator;
v = new org.apache.isis.applib.util.ObjectContract_Impl;
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.Equality equality>;
v = virtualinvoke v.<org.apache.isis.applib.util.Equality: org.apache.isis.applib.util.Equality thenCheckEquals(java.util.function.Function)>(v);
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.Hashing hashing>;
v = virtualinvoke v.<org.apache.isis.applib.util.Hashing: org.apache.isis.applib.util.Hashing thenHashing(java.util.function.Function)>(v);
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: org.apache.isis.applib.util.ToString toString>;
v = virtualinvoke v.<org.apache.isis.applib.util.ToString: org.apache.isis.applib.util.ToString thenToString(java.lang.String,java.util.function.Function)>(v, v);
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: java.util.Comparator comparator>;
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function,java.util.Comparator)>(v, v);
v = interfaceinvoke v.<java.util.Comparator: java.util.Comparator thenComparing(java.util.Comparator)>(v);
specialinvoke v.<org.apache.isis.applib.util.ObjectContract_Impl: void <init>(org.apache.isis.applib.util.Equality,org.apache.isis.applib.util.Hashing,org.apache.isis.applib.util.ToString,java.util.Comparator)>(v, v, v, v);
v = v.<org.apache.isis.applib.util.ObjectContract_Impl: java.util.function.Function valueToStringFunction>;
v.<org.apache.isis.applib.util.ObjectContract_Impl: java.util.function.Function valueToStringFunction> = v;
return v;
}
}