public class oadd.org.apache.commons.codec.language.Metaphone extends java.lang.Object implements oadd.org.apache.commons.codec.StringEncoder
{
private static final java.lang.String VOWELS;
private static final java.lang.String FRONTV;
private static final java.lang.String VARSON;
private int maxCodeLen;
public void <init>()
{
oadd.org.apache.commons.codec.language.Metaphone v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.org.apache.commons.codec.language.Metaphone: int maxCodeLen> = 4;
return;
}
public java.lang.String metaphone(java.lang.String)
{
java.lang.StringBuilder v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
char[] v;
oadd.org.apache.commons.codec.language.Metaphone v;
java.util.Locale v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
char v, v, v, v, v, v, v, v, v, v, v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
return "";
label:
if v != 1 goto label;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
return v;
label:
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toUpperCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(40);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(10);
v = v[0];
lookupswitch(v)
{
case 65: goto label;
case 71: goto label;
case 75: goto label;
case 80: goto label;
case 87: goto label;
case 88: goto label;
default: goto label;
};
label:
v = v[1];
if v != 78 goto label;
v = lengthof v;
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[],int,int)>(v, 1, v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[])>(v);
goto label;
label:
v = v[1];
if v != 69 goto label;
v = lengthof v;
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[],int,int)>(v, 1, v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[])>(v);
goto label;
label:
v = v[1];
if v != 82 goto label;
v = lengthof v;
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[],int,int)>(v, 1, v);
goto label;
label:
v = v[1];
if v != 72 goto label;
v = lengthof v;
v = v - 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[],int,int)>(v, 1, v);
virtualinvoke v.<java.lang.StringBuilder: void setCharAt(int,char)>(0, 87);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[])>(v);
goto label;
label:
v[0] = 83;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[])>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char[])>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = 0;
label:
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = virtualinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: int getMaxCodeLen()>();
if v >= v goto label;
if v >= v goto label;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
if v == 67 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isPreviousChar(java.lang.StringBuilder,int,char)>(v, v, v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
tableswitch(v)
{
case 65: goto label;
case 66: goto label;
case 67: goto label;
case 68: goto label;
case 69: goto label;
case 70: goto label;
case 71: goto label;
case 72: goto label;
case 73: goto label;
case 74: goto label;
case 75: goto label;
case 76: goto label;
case 77: goto label;
case 78: goto label;
case 79: goto label;
case 80: goto label;
case 81: goto label;
case 82: goto label;
case 83: goto label;
case 84: goto label;
case 85: goto label;
case 86: goto label;
case 87: goto label;
case 88: goto label;
case 89: goto label;
case 90: goto label;
default: goto label;
};
label:
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isPreviousChar(java.lang.StringBuilder,int,char)>(v, v, 77);
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isPreviousChar(java.lang.StringBuilder,int,char)>(v, v, 83);
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
v = "EIY";
v = v + 1;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
if v >= 0 goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "CIA");
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(88);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
v = "EIY";
v = v + 1;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
if v < 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isPreviousChar(java.lang.StringBuilder,int,char)>(v, v, 83);
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isNextChar(java.lang.StringBuilder,int,char)>(v, v, 72);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(75);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isNextChar(java.lang.StringBuilder,int,char)>(v, v, 72);
if v == 0 goto label;
if v != 0 goto label;
if v < 3 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isVowel(java.lang.StringBuilder,int)>(v, 2);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(75);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(88);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(75);
goto label;
label:
v = v + 1;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isNextChar(java.lang.StringBuilder,int,char)>(v, v, 71);
if v == 0 goto label;
v = "EIY";
v = v + 2;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
if v < 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(74);
v = v + 2;
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(84);
goto label;
label:
v = v + 1;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isNextChar(java.lang.StringBuilder,int,char)>(v, v, 72);
if v != 0 goto label;
label:
v = v + 1;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isNextChar(java.lang.StringBuilder,int,char)>(v, v, 72);
if v == 0 goto label;
v = v + 2;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isVowel(java.lang.StringBuilder,int)>(v, v);
if v == 0 goto label;
label:
if v <= 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "GN");
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "GNED");
if v != 0 goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isPreviousChar(java.lang.StringBuilder,int,char)>(v, v, 71);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
v = "EIY";
v = v + 1;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
if v < 0 goto label;
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(74);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(75);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
if v <= 0 goto label;
v = "CSPTG";
v = v - 1;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
if v >= 0 goto label;
label:
v = v + 1;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isVowel(java.lang.StringBuilder,int)>(v, v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(72);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
if v <= 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isPreviousChar(java.lang.StringBuilder,int,char)>(v, v, 67);
if v != 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isNextChar(java.lang.StringBuilder,int,char)>(v, v, 72);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(70);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(75);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "SH");
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "SIO");
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "SIA");
if v == 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(88);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "TIA");
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "TIO");
if v == 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(88);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "TCH");
if v != 0 goto label;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean regionMatch(java.lang.StringBuilder,int,java.lang.String)>(v, v, "TH");
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(48);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(84);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(70);
goto label;
label:
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isLastChar(int,int)>(v, v);
if v != 0 goto label;
v = v + 1;
v = specialinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: boolean isVowel(java.lang.StringBuilder,int)>(v, v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(75);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(83);
label:
v = v + 1;
label:
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = virtualinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: int getMaxCodeLen()>();
if v <= v goto label;
v = virtualinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: int getMaxCodeLen()>();
virtualinvoke v.<java.lang.StringBuilder: void setLength(int)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private boolean isVowel(java.lang.StringBuilder, int)
{
oadd.org.apache.commons.codec.language.Metaphone v;
int v, v;
char v;
java.lang.StringBuilder v;
java.lang.String v;
boolean v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v = "AEIOU";
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isPreviousChar(java.lang.StringBuilder, int, char)
{
char v, v;
oadd.org.apache.commons.codec.language.Metaphone v;
int v, v, v;
java.lang.StringBuilder v;
boolean v, v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v := @parameter: char;
v = 0;
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v >= v goto label;
v = v - 1;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
return v;
}
private boolean isNextChar(java.lang.StringBuilder, int, char)
{
char v, v;
oadd.org.apache.commons.codec.language.Metaphone v;
int v, v, v, v;
java.lang.StringBuilder v;
boolean v, v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v := @parameter: char;
v = 0;
if v < 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = v - 1;
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.StringBuilder: char charAt(int)>(v);
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
return v;
}
private boolean regionMatch(java.lang.StringBuilder, int, java.lang.String)
{
oadd.org.apache.commons.codec.language.Metaphone v;
int v, v, v, v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v, v;
boolean v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.StringBuilder;
v := @parameter: int;
v := @parameter: java.lang.String;
v = 0;
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = v - 1;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + v;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
label:
return v;
}
private boolean isLastChar(int, int)
{
oadd.org.apache.commons.codec.language.Metaphone v;
int v, v, v;
boolean v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: int;
v := @parameter: int;
v = v + 1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.Object encode(java.lang.Object) throws oadd.org.apache.commons.codec.EncoderException
{
oadd.org.apache.commons.codec.EncoderException v;
oadd.org.apache.commons.codec.language.Metaphone v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.Object;
v = v instanceof java.lang.String;
if v != 0 goto label;
v = new oadd.org.apache.commons.codec.EncoderException;
specialinvoke v.<oadd.org.apache.commons.codec.EncoderException: void <init>(java.lang.String)>("Parameter supplied to Metaphone encode is not of type java.lang.String");
throw v;
label:
v = virtualinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: java.lang.String metaphone(java.lang.String)>(v);
return v;
}
public java.lang.String encode(java.lang.String)
{
oadd.org.apache.commons.codec.language.Metaphone v;
java.lang.String v, v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.String;
v = virtualinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: java.lang.String metaphone(java.lang.String)>(v);
return v;
}
public boolean isMetaphoneEqual(java.lang.String, java.lang.String)
{
oadd.org.apache.commons.codec.language.Metaphone v;
java.lang.String v, v, v, v;
boolean v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: java.lang.String metaphone(java.lang.String)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.codec.language.Metaphone: java.lang.String metaphone(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
return v;
}
public int getMaxCodeLen()
{
int v;
oadd.org.apache.commons.codec.language.Metaphone v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v = v.<oadd.org.apache.commons.codec.language.Metaphone: int maxCodeLen>;
return v;
}
public void setMaxCodeLen(int)
{
int v;
oadd.org.apache.commons.codec.language.Metaphone v;
v := @this: oadd.org.apache.commons.codec.language.Metaphone;
v := @parameter: int;
v.<oadd.org.apache.commons.codec.language.Metaphone: int maxCodeLen> = v;
return;
}
}