public class org.springframework.beans.propertyeditors.CharacterEditor extends java.beans.PropertyEditorSupport
{
private static final java.lang.String UNICODE_PREFIX;
private static final int UNICODE_LENGTH;
private final boolean allowEmpty;
public void <init>(boolean)
{
org.springframework.beans.propertyeditors.CharacterEditor v;
boolean v;
v := @this: org.springframework.beans.propertyeditors.CharacterEditor;
v := @parameter: boolean;
specialinvoke v.<java.beans.PropertyEditorSupport: void <init>()>();
v.<org.springframework.beans.propertyeditors.CharacterEditor: boolean allowEmpty> = v;
return;
}
public void setAsText(java.lang.String) throws java.lang.IllegalArgumentException
{
char v;
java.lang.IllegalArgumentException v, v;
java.lang.Character v;
org.springframework.beans.propertyeditors.CharacterEditor v;
int v, v;
java.lang.String v, v;
boolean v, v, v;
v := @this: org.springframework.beans.propertyeditors.CharacterEditor;
v := @parameter: java.lang.String;
v = v.<org.springframework.beans.propertyeditors.CharacterEditor: boolean allowEmpty>;
if v == 0 goto label;
v = staticinvoke <org.springframework.util.StringUtils: boolean hasLength(java.lang.String)>(v);
if v != 0 goto label;
virtualinvoke v.<org.springframework.beans.propertyeditors.CharacterEditor: void setValue(java.lang.Object)>(null);
goto label;
label:
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("null String cannot be converted to char type");
throw v;
label:
v = specialinvoke v.<org.springframework.beans.propertyeditors.CharacterEditor: boolean isUnicodeCharacterSequence(java.lang.String)>(v);
if v == 0 goto label;
specialinvoke v.<org.springframework.beans.propertyeditors.CharacterEditor: void setAsUnicode(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 1 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(0);
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
virtualinvoke v.<org.springframework.beans.propertyeditors.CharacterEditor: void setValue(java.lang.Object)>(v);
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<java.lang.String: int length()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(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[])>("String [\u] with length \u cannot be converted to char type: neither Unicode nor single character");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public java.lang.String getAsText()
{
java.lang.Object v;
java.lang.String v;
org.springframework.beans.propertyeditors.CharacterEditor v;
v := @this: org.springframework.beans.propertyeditors.CharacterEditor;
v = virtualinvoke v.<org.springframework.beans.propertyeditors.CharacterEditor: java.lang.Object getValue()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = "";
label:
return v;
}
private boolean isUnicodeCharacterSequence(java.lang.String)
{
org.springframework.beans.propertyeditors.CharacterEditor v;
int v;
java.lang.String v;
boolean v, v;
v := @this: org.springframework.beans.propertyeditors.CharacterEditor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("\\u");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 6 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void setAsUnicode(java.lang.String)
{
java.lang.Character v;
org.springframework.beans.propertyeditors.CharacterEditor v;
int v, v;
java.lang.String v, v, v;
v := @this: org.springframework.beans.propertyeditors.CharacterEditor;
v := @parameter: java.lang.String;
v = "\\u";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String,int)>(v, 16);
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
virtualinvoke v.<org.springframework.beans.propertyeditors.CharacterEditor: void setValue(java.lang.Object)>(v);
return;
}
}