public class org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet extends java.lang.Object implements java.io.Serializable
{
private static final long serialVersionUID;
private final java.util.List values;
private final org.apache.isis.commons.internal.collections._Multimaps$SetMultimap permissionsByFeature;
private org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService permissionsEvaluationService;
public void <init>(java.util.List, org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService)
{
java.util.Iterator v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet v;
org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService v;
java.util.ArrayList v;
org.apache.isis.commons.internal.collections._Multimaps$SetMultimap v, v;
java.util.List v, v;
org.apache.isis.applib.services.appfeat.ApplicationFeatureId v;
java.lang.Object v;
java.util.Comparator v;
boolean v;
v := @this: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
v := @parameter: java.util.List;
v := @parameter: org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Comparator reverseOrder()>();
v = staticinvoke <org.apache.isis.commons.internal.collections._Multimaps: org.apache.isis.commons.internal.collections._Multimaps$SetMultimap newSortedSetMultimap(java.util.Comparator,java.util.Comparator)>(v, null);
v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: org.apache.isis.commons.internal.collections._Multimaps$SetMultimap permissionsByFeature> = v;
v = staticinvoke <org.apache.isis.commons.internal.collections._Lists: java.util.ArrayList newArrayList(java.util.Collection)>(v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values> = v;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue: org.apache.isis.applib.services.appfeat.ApplicationFeatureId getFeatureId()>();
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: org.apache.isis.commons.internal.collections._Multimaps$SetMultimap permissionsByFeature>;
interfaceinvoke v.<org.apache.isis.commons.internal.collections._Multimaps$SetMultimap: void putElement(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService permissionsEvaluationService> = v;
return;
}
public boolean grants(org.apache.isis.applib.services.appfeat.ApplicationFeatureId, org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode)
{
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation v;
org.apache.isis.applib.services.appfeat.ApplicationFeatureId v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet v;
boolean v;
v := @this: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
v := @parameter: org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
v := @parameter: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode;
v = virtualinvoke v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation evaluate(org.apache.isis.applib.services.appfeat.ApplicationFeatureId,org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode)>(v, v);
v = virtualinvoke v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation: boolean isGranted()>();
return v;
}
public org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation evaluate(org.apache.isis.applib.services.appfeat.ApplicationFeatureId, org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode)
{
java.util.Iterator v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet v;
org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService v;
org.apache.isis.commons.internal.collections._Multimaps$SetMultimap v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation v, v;
org.apache.isis.applib.services.appfeat.ApplicationFeatureId v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode v;
java.lang.Object v, v;
boolean v;
v := @this: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
v := @parameter: org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
v := @parameter: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode;
v = virtualinvoke v.<org.apache.isis.applib.services.appfeat.ApplicationFeatureId: org.apache.isis.commons.collections.Can getPathIds()>();
v = interfaceinvoke v.<org.apache.isis.commons.collections.Can: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: org.apache.isis.commons.internal.collections._Multimaps$SetMultimap permissionsByFeature>;
v = interfaceinvoke v.<org.apache.isis.commons.internal.collections._Multimaps$SetMultimap: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService permissionsEvaluationService>;
v = interfaceinvoke v.<org.apache.isis.extensions.secman.applib.permission.spi.PermissionsEvaluationService: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation evaluate(org.apache.isis.applib.services.appfeat.ApplicationFeatureId,org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode,java.util.Collection)>(v, v, v);
if v == null goto label;
return v;
label:
v = new org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation;
specialinvoke v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet$Evaluation: void <init>(org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValue,boolean)>(null, 0);
return v;
}
public boolean equals(java.lang.Object)
{
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet v;
java.util.List v, v, v, v;
java.lang.Class v, v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
v := @parameter: java.lang.Object;
if v != v goto label;
return 1;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == v goto label;
label:
return 0;
label:
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values>;
if v == null goto label;
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values>;
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values>;
v = interfaceinvoke v.<java.util.List: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
goto label;
label:
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values>;
if v != null goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int hashCode()
{
java.util.List v, v;
int v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet v;
v := @this: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values>;
if v == null goto label;
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values>;
v = interfaceinvoke v.<java.util.List: int hashCode()>();
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String toString()
{
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet v;
java.util.List v;
java.lang.String v;
v := @this: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet;
v = v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionValueSet: java.util.List values>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List)>(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[])>("ApplicationPermissionValueSet{values=\u0001}");
return v;
}
}