001package gudusoft.gsqlparser.dlineage.graph.utils;
002
003public class EntityArrays {
004    private static final String[][] ISO8859_1_ESCAPE = new String[][]{{" ", " "}, {"¡", "¡"}, {"¢", "¢"}, {"£", "£"}, {"¤", "¤"}, {"¥", "¥"}, {"¦", "¦"}, {"§", "§"}, {"¨", "¨"}, {"©", "©"}, {"ª", "ª"}, {"«", "«"}, {"¬", "¬"}, {"\u00ad", "­"}, {"®", "®"}, {"¯", "¯"}, {"°", "°"}, {"±", "±"}, {"²", "²"}, {"³", "³"}, {"´", "´"}, {"µ", "µ"}, {"¶", "¶"}, {"·", "·"}, {"¸", "¸"}, {"¹", "¹"}, {"º", "º"}, {"»", "»"}, {"¼", "¼"}, {"½", "½"}, {"¾", "¾"}, {"¿", "¿"}, {"À", "À"}, {"Á", "Á"}, {"Â", "Â"}, {"Ã", "Ã"}, {"Ä", "Ä"}, {"Å", "Å"}, {"Æ", "Æ"}, {"Ç", "Ç"}, {"È", "È"}, {"É", "É"}, {"Ê", "Ê"}, {"Ë", "Ë"}, {"Ì", "Ì"}, {"Í", "Í"}, {"Î", "Î"}, {"Ï", "Ï"}, {"Ð", "Ð"}, {"Ñ", "Ñ"}, {"Ò", "Ò"}, {"Ó", "Ó"}, {"Ô", "Ô"}, {"Õ", "Õ"}, {"Ö", "Ö"}, {"×", "×"}, {"Ø", "Ø"}, {"Ù", "Ù"}, {"Ú", "Ú"}, {"Û", "Û"}, {"Ü", "Ü"}, {"Ý", "Ý"}, {"Þ", "Þ"}, {"ß", "ß"}, {"à", "à"}, {"á", "á"}, {"â", "â"}, {"ã", "ã"}, {"ä", "ä"}, {"å", "å"}, {"æ", "æ"}, {"ç", "ç"}, {"è", "è"}, {"é", "é"}, {"ê", "ê"}, {"ë", "ë"}, {"ì", "ì"}, {"í", "í"}, {"î", "î"}, {"ï", "ï"}, {"ð", "ð"}, {"ñ", "ñ"}, {"ò", "ò"}, {"ó", "ó"}, {"ô", "ô"}, {"õ", "õ"}, {"ö", "ö"}, {"÷", "÷"}, {"ø", "ø"}, {"ù", "ù"}, {"ú", "ú"}, {"û", "û"}, {"ü", "ü"}, {"ý", "ý"}, {"þ", "þ"}, {"ÿ", "ÿ"}};
005    private static final String[][] ISO8859_1_UNESCAPE;
006    private static final String[][] HTML40_EXTENDED_ESCAPE;
007    private static final String[][] HTML40_EXTENDED_UNESCAPE;
008    private static final String[][] BASIC_ESCAPE;
009    private static final String[][] BASIC_UNESCAPE;
010    private static final String[][] APOS_ESCAPE;
011    private static final String[][] APOS_UNESCAPE;
012    private static final String[][] JAVA_CTRL_CHARS_ESCAPE;
013    private static final String[][] JAVA_CTRL_CHARS_UNESCAPE;
014
015    public EntityArrays() {
016    }
017
018    public static String[][] ISO8859_1_ESCAPE() {
019        return (String[][])ISO8859_1_ESCAPE.clone();
020    }
021
022    public static String[][] ISO8859_1_UNESCAPE() {
023        return (String[][])ISO8859_1_UNESCAPE.clone();
024    }
025
026    public static String[][] HTML40_EXTENDED_ESCAPE() {
027        return (String[][])HTML40_EXTENDED_ESCAPE.clone();
028    }
029
030    public static String[][] HTML40_EXTENDED_UNESCAPE() {
031        return (String[][])HTML40_EXTENDED_UNESCAPE.clone();
032    }
033
034    public static String[][] BASIC_ESCAPE() {
035        return (String[][])BASIC_ESCAPE.clone();
036    }
037
038    public static String[][] BASIC_UNESCAPE() {
039        return (String[][])BASIC_UNESCAPE.clone();
040    }
041
042    public static String[][] APOS_ESCAPE() {
043        return (String[][])APOS_ESCAPE.clone();
044    }
045
046    public static String[][] APOS_UNESCAPE() {
047        return (String[][])APOS_UNESCAPE.clone();
048    }
049
050    public static String[][] JAVA_CTRL_CHARS_ESCAPE() {
051        return (String[][])JAVA_CTRL_CHARS_ESCAPE.clone();
052    }
053
054    public static String[][] JAVA_CTRL_CHARS_UNESCAPE() {
055        return (String[][])JAVA_CTRL_CHARS_UNESCAPE.clone();
056    }
057
058    public static String[][] invert(String[][] array) {
059        String[][] newarray = new String[array.length][2];
060
061        for(int i = 0; i < array.length; ++i) {
062            newarray[i][0] = array[i][1];
063            newarray[i][1] = array[i][0];
064        }
065
066        return newarray;
067    }
068
069    static {
070        ISO8859_1_UNESCAPE = invert(ISO8859_1_ESCAPE);
071        HTML40_EXTENDED_ESCAPE = new String[][]{{"ƒ", "&fnof;"}, {"Α", "&Alpha;"}, {"Β", "&Beta;"}, {"Γ", "&Gamma;"}, {"Δ", "&Delta;"}, {"Ε", "&Epsilon;"}, {"Ζ", "&Zeta;"}, {"Η", "&Eta;"}, {"Θ", "&Theta;"}, {"Ι", "&Iota;"}, {"Κ", "&Kappa;"}, {"Λ", "&Lambda;"}, {"Μ", "&Mu;"}, {"Ν", "&Nu;"}, {"Ξ", "&Xi;"}, {"Ο", "&Omicron;"}, {"Π", "&Pi;"}, {"Ρ", "&Rho;"}, {"Σ", "&Sigma;"}, {"Τ", "&Tau;"}, {"Υ", "&Upsilon;"}, {"Φ", "&Phi;"}, {"Χ", "&Chi;"}, {"Ψ", "&Psi;"}, {"Ω", "&Omega;"}, {"α", "&alpha;"}, {"β", "&beta;"}, {"γ", "&gamma;"}, {"δ", "&delta;"}, {"ε", "&epsilon;"}, {"ζ", "&zeta;"}, {"η", "&eta;"}, {"θ", "&theta;"}, {"ι", "&iota;"}, {"κ", "&kappa;"}, {"λ", "&lambda;"}, {"μ", "&mu;"}, {"ν", "&nu;"}, {"ξ", "&xi;"}, {"ο", "&omicron;"}, {"π", "&pi;"}, {"ρ", "&rho;"}, {"ς", "&sigmaf;"}, {"σ", "&sigma;"}, {"τ", "&tau;"}, {"υ", "&upsilon;"}, {"φ", "&phi;"}, {"χ", "&chi;"}, {"ψ", "&psi;"}, {"ω", "&omega;"}, {"ϑ", "&thetasym;"}, {"ϒ", "&upsih;"}, {"ϖ", "&piv;"}, {"•", "&bull;"}, {"…", "&hellip;"}, {"′", "&prime;"}, {"″", "&Prime;"}, {"‾", "&oline;"}, {"⁄", "&frasl;"}, {"℘", "&weierp;"}, {"ℑ", "&image;"}, {"ℜ", "&real;"}, {"™", "&trade;"}, {"ℵ", "&alefsym;"}, {"←", "&larr;"}, {"↑", "&uarr;"}, {"→", "&rarr;"}, {"↓", "&darr;"}, {"↔", "&harr;"}, {"↵", "&crarr;"}, {"⇐", "&lArr;"}, {"⇑", "&uArr;"}, {"⇒", "&rArr;"}, {"⇓", "&dArr;"}, {"⇔", "&hArr;"}, {"∀", "&forall;"}, {"∂", "&part;"}, {"∃", "&exist;"}, {"∅", "&empty;"}, {"∇", "&nabla;"}, {"∈", "&isin;"}, {"∉", "&notin;"}, {"∋", "&ni;"}, {"∏", "&prod;"}, {"∑", "&sum;"}, {"−", "&minus;"}, {"∗", "&lowast;"}, {"√", "&radic;"}, {"∝", "&prop;"}, {"∞", "&infin;"}, {"∠", "&ang;"}, {"∧", "&and;"}, {"∨", "&or;"}, {"∩", "&cap;"}, {"∪", "&cup;"}, {"∫", "&int;"}, {"∴", "&there4;"}, {"∼", "&sim;"}, {"≅", "&cong;"}, {"≈", "&asymp;"}, {"≠", "&ne;"}, {"≡", "&equiv;"}, {"≤", "&le;"}, {"≥", "&ge;"}, {"⊂", "&sub;"}, {"⊃", "&sup;"}, {"⊄", "&nsub;"}, {"⊆", "&sube;"}, {"⊇", "&supe;"}, {"⊕", "&oplus;"}, {"⊗", "&otimes;"}, {"⊥", "&perp;"}, {"⋅", "&sdot;"}, {"⌈", "&lceil;"}, {"⌉", "&rceil;"}, {"⌊", "&lfloor;"}, {"⌋", "&rfloor;"}, {"〈", "&lang;"}, {"〉", "&rang;"}, {"◊", "&loz;"}, {"♠", "&spades;"}, {"♣", "&clubs;"}, {"♥", "&hearts;"}, {"♦", "&diams;"}, {"Œ", "&OElig;"}, {"œ", "&oelig;"}, {"Š", "&Scaron;"}, {"š", "&scaron;"}, {"Ÿ", "&Yuml;"}, {"ˆ", "&circ;"}, {"˜", "&tilde;"}, {" ", "&ensp;"}, {" ", "&emsp;"}, {" ", "&thinsp;"}, {"\u200c", "&zwnj;"}, {"\u200d", "&zwj;"}, {"\u200e", "&lrm;"}, {"\u200f", "&rlm;"}, {"–", "&ndash;"}, {"—", "&mdash;"}, {"‘", "&lsquo;"}, {"’", "&rsquo;"}, {"‚", "&sbquo;"}, {"“", "&ldquo;"}, {"”", "&rdquo;"}, {"„", "&bdquo;"}, {"†", "&dagger;"}, {"‡", "&Dagger;"}, {"‰", "&permil;"}, {"‹", "&lsaquo;"}, {"›", "&rsaquo;"}, {"€", "&euro;"}};
072        HTML40_EXTENDED_UNESCAPE = invert(HTML40_EXTENDED_ESCAPE);
073        BASIC_ESCAPE = new String[][]{{"\"", "&quot;"}, {"&", "&amp;"}, {"<", "&lt;"}, {">", "&gt;"}};
074        BASIC_UNESCAPE = invert(BASIC_ESCAPE);
075        APOS_ESCAPE = new String[][]{{"'", "&apos;"}};
076        APOS_UNESCAPE = invert(APOS_ESCAPE);
077        JAVA_CTRL_CHARS_ESCAPE = new String[][]{{"\b", "\\b"}, {"\n", "\\n"}, {"\t", "\\t"}, {"\f", "\\f"}, {"\r", "\\r"}};
078        JAVA_CTRL_CHARS_UNESCAPE = invert(JAVA_CTRL_CHARS_ESCAPE);
079    }
080}