public class org.springframework.messaging.simp.'annotation'.support.PrincipalMethodArgumentResolver extends java.lang.Object implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver
{
public void <init>()
{
org.springframework.messaging.simp.'annotation'.support.PrincipalMethodArgumentResolver v;
v := @this: org.springframework.messaging.simp.'annotation'.support.PrincipalMethodArgumentResolver;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public boolean supportsParameter(org.springframework.core.MethodParameter)
{
org.springframework.messaging.simp.'annotation'.support.PrincipalMethodArgumentResolver v;
org.springframework.core.MethodParameter v;
java.lang.Class v, v;
boolean v;
v := @this: org.springframework.messaging.simp.'annotation'.support.PrincipalMethodArgumentResolver;
v := @parameter: org.springframework.core.MethodParameter;
v = virtualinvoke v.<org.springframework.core.MethodParameter: java.lang.Class getParameterType()>();
v = class "Ljava/security/Principal;";
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
return v;
}
public java.lang.Object resolveArgument(org.springframework.core.MethodParameter, org.springframework.messaging.Message) throws java.lang.Exception
{
java.security.Principal v;
org.springframework.messaging.simp.'annotation'.support.PrincipalMethodArgumentResolver v;
org.springframework.core.MethodParameter v;
org.springframework.messaging.simp.'annotation'.support.MissingSessionUserException v;
org.springframework.messaging.Message v;
org.springframework.messaging.MessageHeaders v;
v := @this: org.springframework.messaging.simp.'annotation'.support.PrincipalMethodArgumentResolver;
v := @parameter: org.springframework.core.MethodParameter;
v := @parameter: org.springframework.messaging.Message;
v = interfaceinvoke v.<org.springframework.messaging.Message: org.springframework.messaging.MessageHeaders getHeaders()>();
v = staticinvoke <org.springframework.messaging.simp.SimpMessageHeaderAccessor: java.security.Principal getUser(java.util.Map)>(v);
if v != null goto label;
v = new org.springframework.messaging.simp.'annotation'.support.MissingSessionUserException;
specialinvoke v.<org.springframework.messaging.simp.'annotation'.support.MissingSessionUserException: void <init>(org.springframework.messaging.Message)>(v);
throw v;
label:
return v;
}
}