
    
package performa.orm.types;

import java.util.*;
import oneit.utils.*;
import oneit.utils.transform.*;



/**
 * This class was generated using constGen.bat.
 * DO NOT MODIFY THIS CODE.
 * Edit the associated .xml file, and regenerate this file
 * constGen (directory) (file minus extension)
 * e.g. constGen C:\...\sql FieldType
 */

public class Countries extends AbstractEnumerated
{
    
    public static final EnumeratedFactory FACTORY_Countries = new CountriesFactory();
    
    public static final Countries AF = new Countries ("AF", "AF", "Afghanistan", false);
    
    public static final Countries AL = new Countries ("AL", "AL", "Albania", false);
    
    public static final Countries DZ = new Countries ("DZ", "DZ", "Algeria", false);
    
    public static final Countries AS = new Countries ("AS", "AS", "American Samoa", false);
    
    public static final Countries AD = new Countries ("AD", "AD", "Andorra", false);
    
    public static final Countries AO = new Countries ("AO", "AO", "Angola", false);
    
    public static final Countries AI = new Countries ("AI", "AI", "Anguilla/St Kitts", false);
    
    public static final Countries AQ = new Countries ("AQ", "AQ", "Antarctica", false);
    
    public static final Countries AG = new Countries ("AG", "AG", "Antigua and Barbuda", false);
    
    public static final Countries AR = new Countries ("AR", "AR", "Argentina", false);
    
    public static final Countries AM = new Countries ("AM", "AM", "Armenia", false);
    
    public static final Countries AW = new Countries ("AW", "AW", "Aruba", false);
    
    public static final Countries AU = new Countries ("AU", "AU", "Australia", false);
    
    public static final Countries AT = new Countries ("AT", "AT", "Austria", false);
    
    public static final Countries AZ = new Countries ("AZ", "AZ", "Azerbaijan", false);
    
    public static final Countries BS = new Countries ("BS", "BS", "Bahamas", false);
    
    public static final Countries BH = new Countries ("BH", "BH", "Bahrain", false);
    
    public static final Countries BD = new Countries ("BD", "BD", "Bangladesh", false);
    
    public static final Countries BB = new Countries ("BB", "BB", "Barbados", false);
    
    public static final Countries BY = new Countries ("BY", "BY", "Belarus", false);
    
    public static final Countries BE = new Countries ("BE", "BE", "Belgium", false);
    
    public static final Countries BZ = new Countries ("BZ", "BZ", "Belize", false);
    
    public static final Countries BJ = new Countries ("BJ", "BJ", "Benin", false);
    
    public static final Countries BM = new Countries ("BM", "BM", "Bermuda", false);
    
    public static final Countries BT = new Countries ("BT", "BT", "Bhutan", false);
    
    public static final Countries BO = new Countries ("BO", "BO", "Bolivia", false);
    
    public static final Countries BA = new Countries ("BA", "BA", "Bosnia Herzegovina", false);
    
    public static final Countries BW = new Countries ("BW", "BW", "Botswana", false);
    
    public static final Countries BV = new Countries ("BV", "BV", "Bouvet Island", false);
    
    public static final Countries BR = new Countries ("BR", "BR", "Brazil", false);
    
    public static final Countries IO = new Countries ("IO", "IO", "British Indian Ocean Territory", false);
    
    public static final Countries BN = new Countries ("BN", "BN", "Brunei Darussalam", false);
    
    public static final Countries BG = new Countries ("BG", "BG", "Bulgaria", false);
    
    public static final Countries BF = new Countries ("BF", "BF", "Burkina Fasa", false);
    
    public static final Countries BI = new Countries ("BI", "BI", "Burundi", false);
    
    public static final Countries KH = new Countries ("KH", "KH", "Cambodia", false);
    
    public static final Countries CM = new Countries ("CM", "CM", "Cameroon", false);
    
    public static final Countries CA = new Countries ("CA", "CA", "Canada", false);
    
    public static final Countries CV = new Countries ("CV", "CV", "Cape Verde", false);
    
    public static final Countries KY = new Countries ("KY", "KY", "Cayman Islands", false);
    
    public static final Countries CF = new Countries ("CF", "CF", "Central African Republic", false);
    
    public static final Countries TD = new Countries ("TD", "TD", "Chad", false);
    
    public static final Countries CL = new Countries ("CL", "CL", "Chile", false);
    
    public static final Countries CN = new Countries ("CN", "CN", "China", false);
    
    public static final Countries CX = new Countries ("CX", "CX", "Christmas Island", false);
    
    public static final Countries CC = new Countries ("CC", "CC", "Cocos (Keeling) Islands", false);
    
    public static final Countries CO = new Countries ("CO", "CO", "Colombia", false);
    
    public static final Countries KM = new Countries ("KM", "KM", "Comoros", false);
    
    public static final Countries CG = new Countries ("CG", "CG", "Congo", false);
    
    public static final Countries CD = new Countries ("CD", "CD", "Congo, The Democratic Republic of the", false);
    
    public static final Countries CK = new Countries ("CK", "CK", "Cook Islands", false);
    
    public static final Countries CR = new Countries ("CR", "CR", "Costa Rica", false);
    
    public static final Countries CI = new Countries ("CI", "CI", "Cote D'Ivoire", false);
    
    public static final Countries HR = new Countries ("HR", "HR", "Croatia", false);
    
    public static final Countries CU = new Countries ("CU", "CU", "Cuba", false);
    
    public static final Countries CY = new Countries ("CY", "CY", "Cyprus", false);
    
    public static final Countries CZ = new Countries ("CZ", "CZ", "Czech Republic", false);
    
    public static final Countries DK = new Countries ("DK", "DK", "Denmark", false);
    
    public static final Countries DJ = new Countries ("DJ", "DJ", "Djibouti", false);
    
    public static final Countries DM = new Countries ("DM", "DM", "Dominica", false);
    
    public static final Countries DO = new Countries ("DO", "DO", "Dominican Republic", false);
    
    public static final Countries TP = new Countries ("TP", "TP", "East Timor", false);
    
    public static final Countries EC = new Countries ("EC", "EC", "Ecuador", false);
    
    public static final Countries EG = new Countries ("EG", "EG", "Egypt", false);
    
    public static final Countries SV = new Countries ("SV", "SV", "El Salvador", false);
    
    public static final Countries GQ = new Countries ("GQ", "GQ", "Equatorial Guinea", false);
    
    public static final Countries ER = new Countries ("ER", "ER", "Eritrea", false);
    
    public static final Countries EE = new Countries ("EE", "EE", "Estonia", false);
    
    public static final Countries ET = new Countries ("ET", "ET", "Ethiopia", false);
    
    public static final Countries FK = new Countries ("FK", "FK", "Falkland Islands", false);
    
    public static final Countries FO = new Countries ("FO", "FO", "Faroe Islands", false);
    
    public static final Countries FJ = new Countries ("FJ", "FJ", "Fiji", false);
    
    public static final Countries FI = new Countries ("FI", "FI", "Finland", false);
    
    public static final Countries FR = new Countries ("FR", "FR", "France", false);
    
    public static final Countries GF = new Countries ("GF", "GF", "French Guiana", false);
    
    public static final Countries PF = new Countries ("PF", "PF", "French Polynesia", false);
    
    public static final Countries TF = new Countries ("TF", "TF", "French Souther Territories", false);
    
    public static final Countries GA = new Countries ("GA", "GA", "Gabon", false);
    
    public static final Countries GM = new Countries ("GM", "GM", "Gambia", false);
    
    public static final Countries GE = new Countries ("GE", "GE", "Georgia", false);
    
    public static final Countries DE = new Countries ("DE", "DE", "Germany", false);
    
    public static final Countries GH = new Countries ("GH", "GH", "Ghana", false);
    
    public static final Countries GI = new Countries ("GI", "GI", "Gibraltar", false);
    
    public static final Countries GB = new Countries ("GB", "GB", "Great Britain", false);
    
    public static final Countries GR = new Countries ("GR", "GR", "Greece", false);
    
    public static final Countries GL = new Countries ("GL", "GL", "Greenland", false);
    
    public static final Countries GD = new Countries ("GD", "GD", "Grenada", false);
    
    public static final Countries GP = new Countries ("GP", "GP", "Guadeloupe/St Martin", false);
    
    public static final Countries GU = new Countries ("GU", "GU", "Guam", false);
    
    public static final Countries GT = new Countries ("GT", "GT", "Guatemala", false);
    
    public static final Countries GN = new Countries ("GN", "GN", "Guinea", false);
    
    public static final Countries GW = new Countries ("GW", "GW", "Guinea Bissau", false);
    
    public static final Countries GY = new Countries ("GY", "GY", "Guyana", false);
    
    public static final Countries HT = new Countries ("HT", "HT", "Haiti", false);
    
    public static final Countries HM = new Countries ("HM", "HM", "Heard and McDonald Islands", false);
    
    public static final Countries HN = new Countries ("HN", "HN", "Honduras", false);
    
    public static final Countries HK = new Countries ("HK", "HK", "Hong Kong", false);
    
    public static final Countries HU = new Countries ("HU", "HU", "Hungary", false);
    
    public static final Countries IS = new Countries ("IS", "IS", "Iceland", false);
    
    public static final Countries IN = new Countries ("IN", "IN", "India", false);
    
    public static final Countries ID = new Countries ("ID", "ID", "Indonesia", false);
    
    public static final Countries IR = new Countries ("IR", "IR", "Iran", false);
    
    public static final Countries IQ = new Countries ("IQ", "IQ", "Iraq", false);
    
    public static final Countries IE = new Countries ("IE", "IE", "Ireland", false);
    
    public static final Countries IM = new Countries ("IM", "IM", "Isle Of Man", false);
    
    public static final Countries IL = new Countries ("IL", "IL", "Israel", false);
    
    public static final Countries IT = new Countries ("IT", "IT", "Italy", false);
    
    public static final Countries JM = new Countries ("JM", "JM", "Jamaica", false);
    
    public static final Countries JP = new Countries ("JP", "JP", "Japan", false);
    
    public static final Countries JO = new Countries ("JO", "JO", "Jordan", false);
    
    public static final Countries KZ = new Countries ("KZ", "KZ", "Kazakhstan", false);
    
    public static final Countries KE = new Countries ("KE", "KE", "Kenya", false);
    
    public static final Countries KI = new Countries ("KI", "KI", "Kiribati", false);
    
    public static final Countries KW = new Countries ("KW", "KW", "Kuwait", false);
    
    public static final Countries KG = new Countries ("KG", "KG", "Kyrgzstan", false);
    
    public static final Countries LA = new Countries ("LA", "LA", "Laos", false);
    
    public static final Countries LV = new Countries ("LV", "LV", "Latvia", false);
    
    public static final Countries LB = new Countries ("LB", "LB", "Lebanon", false);
    
    public static final Countries LS = new Countries ("LS", "LS", "Lesotho", false);
    
    public static final Countries LR = new Countries ("LR", "LR", "Liberia", false);
    
    public static final Countries LY = new Countries ("LY", "LY", "Libyan Arab Jamahiriya", false);
    
    public static final Countries LI = new Countries ("LI", "LI", "Liechtenstein", false);
    
    public static final Countries LT = new Countries ("LT", "LT", "Lithuania", false);
    
    public static final Countries LU = new Countries ("LU", "LU", "Luxembourg", false);
    
    public static final Countries MO = new Countries ("MO", "MO", "Macau", false);
    
    public static final Countries MK = new Countries ("MK", "MK", "Macedonia", false);
    
    public static final Countries MG = new Countries ("MG", "MG", "Madagascar", false);
    
    public static final Countries MW = new Countries ("MW", "MW", "Malawi", false);
    
    public static final Countries MY = new Countries ("MY", "MY", "Malaysia", false);
    
    public static final Countries MV = new Countries ("MV", "MV", "Maldives", false);
    
    public static final Countries ML = new Countries ("ML", "ML", "Mali", false);
    
    public static final Countries MT = new Countries ("MT", "MT", "Malta", false);
    
    public static final Countries MH = new Countries ("MH", "MH", "Marshall Islands", false);
    
    public static final Countries MQ = new Countries ("MQ", "MQ", "Martinique", false);
    
    public static final Countries MR = new Countries ("MR", "MR", "Mauritania", false);
    
    public static final Countries MU = new Countries ("MU", "MU", "Mauritius", false);
    
    public static final Countries YT = new Countries ("YT", "YT", "Mayotte", false);
    
    public static final Countries MX = new Countries ("MX", "MX", "Mexico", false);
    
    public static final Countries FM = new Countries ("FM", "FM", "Micronesia, Federated States of", false);
    
    public static final Countries MI = new Countries ("MI", "MI", "Midway Islands", false);
    
    public static final Countries MD = new Countries ("MD", "MD", "Moldova", false);
    
    public static final Countries MC = new Countries ("MC", "MC", "Monaco", false);
    
    public static final Countries MN = new Countries ("MN", "MN", "Mongolia", false);
    
    public static final Countries ME = new Countries ("ME", "ME", "Montenegro", false);
    
    public static final Countries MS = new Countries ("MS", "MS", "Montserrat", false);
    
    public static final Countries MA = new Countries ("MA", "MA", "Morocco", false);
    
    public static final Countries MZ = new Countries ("MZ", "MZ", "Mozambique", false);
    
    public static final Countries MM = new Countries ("MM", "MM", "Myanmar", false);
    
    public static final Countries NA = new Countries ("NA", "NA", "Namibia", false);
    
    public static final Countries NR = new Countries ("NR", "NR", "Nauru", false);
    
    public static final Countries NP = new Countries ("NP", "NP", "Nepal", false);
    
    public static final Countries NL = new Countries ("NL", "NL", "Netherlands", false);
    
    public static final Countries AN = new Countries ("AN", "AN", "Netherlands Antilles", false);
    
    public static final Countries NC = new Countries ("NC", "NC", "New Caledonia", false);
    
    public static final Countries NZ = new Countries ("NZ", "NZ", "New Zealand", false);
    
    public static final Countries NI = new Countries ("NI", "NI", "Nicaragua", false);
    
    public static final Countries NE = new Countries ("NE", "NE", "Niger", false);
    
    public static final Countries NG = new Countries ("NG", "NG", "Nigeria", false);
    
    public static final Countries NU = new Countries ("NU", "NU", "Niue", false);
    
    public static final Countries NF = new Countries ("NF", "NF", "Norfolk Island", false);
    
    public static final Countries KP = new Countries ("KP", "KP", "North Korea", false);
    
    public static final Countries MP = new Countries ("MP", "MP", "Northern Mariana Islands", false);
    
    public static final Countries NO = new Countries ("NO", "NO", "Norway", false);
    
    public static final Countries OM = new Countries ("OM", "OM", "Oman", false);
    
    public static final Countries PK = new Countries ("PK", "PK", "Pakistan", false);
    
    public static final Countries PW = new Countries ("PW", "PW", "Palau", false);
    
    public static final Countries PA = new Countries ("PA", "PA", "Panama", false);
    
    public static final Countries PG = new Countries ("PG", "PG", "Papua New Guinea", false);
    
    public static final Countries PY = new Countries ("PY", "PY", "Paraguay", false);
    
    public static final Countries PE = new Countries ("PE", "PE", "Peru", false);
    
    public static final Countries PH = new Countries ("PH", "PH", "Philippines", false);
    
    public static final Countries PN = new Countries ("PN", "PN", "Pitcairn", false);
    
    public static final Countries PL = new Countries ("PL", "PL", "Poland", false);
    
    public static final Countries PT = new Countries ("PT", "PT", "Portugal", false);
    
    public static final Countries PR = new Countries ("PR", "PR", "Puerto Rico", false);
    
    public static final Countries QA = new Countries ("QA", "QA", "Qatar", false);
    
    public static final Countries RE = new Countries ("RE", "RE", "Reunion", false);
    
    public static final Countries RO = new Countries ("RO", "RO", "Romania", false);
    
    public static final Countries RU = new Countries ("RU", "RU", "Russia", false);
    
    public static final Countries RQ = new Countries ("RQ", "RQ", "Russian Federation", false);
    
    public static final Countries RW = new Countries ("RW", "RW", "Rwanda", false);
    
    public static final Countries SH = new Countries ("SH", "SH", "Saint Helena", false);
    
    public static final Countries KN = new Countries ("KN", "KN", "Saint Kitts and Nevis", false);
    
    public static final Countries LC = new Countries ("LC", "LC", "Saint Lucia", false);
    
    public static final Countries PM = new Countries ("PM", "PM", "Saint Pierre And Miquelon", false);
    
    public static final Countries VC = new Countries ("VC", "VC", "Saint Vincent And The Grenadines", false);
    
    public static final Countries WS = new Countries ("WS", "WS", "Samoa", false);
    
    public static final Countries SM = new Countries ("SM", "SM", "San Marino", false);
    
    public static final Countries ST = new Countries ("ST", "ST", "Sao Tome and Principe", false);
    
    public static final Countries SA = new Countries ("SA", "SA", "Saudi Arabia", false);
    
    public static final Countries SN = new Countries ("SN", "SN", "Senegal", false);
    
    public static final Countries RS = new Countries ("RS", "RS", "Serbia", false);
    
    public static final Countries SC = new Countries ("SC", "SC", "Seychelles", false);
    
    public static final Countries SL = new Countries ("SL", "SL", "Sierra Leone", false);
    
    public static final Countries SG = new Countries ("SG", "SG", "Singapore", false);
    
    public static final Countries SK = new Countries ("SK", "SK", "Slovakia", false);
    
    public static final Countries SI = new Countries ("SI", "SI", "Slovenia", false);
    
    public static final Countries SB = new Countries ("SB", "SB", "Solomon Islands", false);
    
    public static final Countries SO = new Countries ("SO", "SO", "Somalia", false);
    
    public static final Countries ZA = new Countries ("ZA", "ZA", "South Africa", false);
    
    public static final Countries GS = new Countries ("GS", "GS", "South Georgia and the South Sandwich Islands", false);
    
    public static final Countries KR = new Countries ("KR", "KR", "South Korea", false);
    
    public static final Countries ES = new Countries ("ES", "ES", "Spain", false);
    
    public static final Countries LK = new Countries ("LK", "LK", "Sri Lanka", false);
    
    public static final Countries SD = new Countries ("SD", "SD", "Sudan", false);
    
    public static final Countries SR = new Countries ("SR", "SR", "Suriname", false);
    
    public static final Countries SJ = new Countries ("SJ", "SJ", "Svalbard and Jan Mayen Islands", false);
    
    public static final Countries SZ = new Countries ("SZ", "SZ", "Swaziland", false);
    
    public static final Countries SE = new Countries ("SE", "SE", "Sweden", false);
    
    public static final Countries CH = new Countries ("CH", "CH", "Switzerland", false);
    
    public static final Countries SY = new Countries ("SY", "SY", "Syria", false);
    
    public static final Countries TW = new Countries ("TW", "TW", "Taiwan", false);
    
    public static final Countries TJ = new Countries ("TJ", "TJ", "Tajikistan", false);
    
    public static final Countries TZ = new Countries ("TZ", "TZ", "Tanzania", false);
    
    public static final Countries TH = new Countries ("TH", "TH", "Thailand", false);
    
    public static final Countries TG = new Countries ("TG", "TG", "Togo", false);
    
    public static final Countries TK = new Countries ("TK", "TK", "Tokelau", false);
    
    public static final Countries TO = new Countries ("TO", "TO", "Tonga", false);
    
    public static final Countries TT = new Countries ("TT", "TT", "Trinidad And Tobago", false);
    
    public static final Countries TN = new Countries ("TN", "TN", "Tunisia", false);
    
    public static final Countries TR = new Countries ("TR", "TR", "Turkey", false);
    
    public static final Countries TM = new Countries ("TM", "TM", "Turkmenistan", false);
    
    public static final Countries TC = new Countries ("TC", "TC", "Turks and Caicos Islands", false);
    
    public static final Countries TV = new Countries ("TV", "TV", "Tuvalu", false);
    
    public static final Countries UG = new Countries ("UG", "UG", "Uganda", false);
    
    public static final Countries UA = new Countries ("UA", "UA", "Ukraine", false);
    
    public static final Countries AE = new Countries ("AE", "AE", "United Arab Emirates", false);
    
    public static final Countries UK = new Countries ("UK", "UK", "United Kingdom", false);
    
    public static final Countries US = new Countries ("US", "US", "United States", false);
    
    public static final Countries UM = new Countries ("UM", "UM", "United States Minor Outlying Islands", false);
    
    public static final Countries UY = new Countries ("UY", "UY", "Uruguay", false);
    
    public static final Countries UZ = new Countries ("UZ", "UZ", "Uzbekistan", false);
    
    public static final Countries VU = new Countries ("VU", "VU", "Vanuatu", false);
    
    public static final Countries VA = new Countries ("VA", "VA", "Vatican City State", false);
    
    public static final Countries VE = new Countries ("VE", "VE", "Venezuela", false);
    
    public static final Countries VN = new Countries ("VN", "VN", "Vietnam", false);
    
    public static final Countries VG = new Countries ("VG", "VG", "Virgin Islands, British", false);
    
    public static final Countries VI = new Countries ("VI", "VI", "Virgin Islands, US", false);
    
    public static final Countries WF = new Countries ("WF", "WF", "Wallis and Futuna Islands", false);
    
    public static final Countries EH = new Countries ("EH", "EH", "Western Sahara", false);
    
    public static final Countries YE = new Countries ("YE", "YE", "Yemen", false);
    
    public static final Countries ZR = new Countries ("ZR", "ZR", "Zaire", false);
    
    public static final Countries ZM = new Countries ("ZM", "ZM", "Zambia", false);
    
    public static final Countries ZW = new Countries ("ZW", "ZW", "Zimbabwe", false);

    private static final Countries[] allCountriess =
        new Countries[] { AF,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,BB,BY,BE,BZ,BJ,BM,BT,BO,BA,BW,BV,BR,IO,BN,BG,BF,BI,KH,CM,CA,CV,KY,CF,TD,CL,CN,CX,CC,CO,KM,CG,CD,CK,CR,CI,HR,CU,CY,CZ,DK,DJ,DM,DO,TP,EC,EG,SV,GQ,ER,EE,ET,FK,FO,FJ,FI,FR,GF,PF,TF,GA,GM,GE,DE,GH,GI,GB,GR,GL,GD,GP,GU,GT,GN,GW,GY,HT,HM,HN,HK,HU,IS,IN,ID,IR,IQ,IE,IM,IL,IT,JM,JP,JO,KZ,KE,KI,KW,KG,LA,LV,LB,LS,LR,LY,LI,LT,LU,MO,MK,MG,MW,MY,MV,ML,MT,MH,MQ,MR,MU,YT,MX,FM,MI,MD,MC,MN,ME,MS,MA,MZ,MM,NA,NR,NP,NL,AN,NC,NZ,NI,NE,NG,NU,NF,KP,MP,NO,OM,PK,PW,PA,PG,PY,PE,PH,PN,PL,PT,PR,QA,RE,RO,RU,RQ,RW,SH,KN,LC,PM,VC,WS,SM,ST,SA,SN,RS,SC,SL,SG,SK,SI,SB,SO,ZA,GS,KR,ES,LK,SD,SR,SJ,SZ,SE,CH,SY,TW,TJ,TZ,TH,TG,TK,TO,TT,TN,TR,TM,TC,TV,UG,UA,AE,UK,US,UM,UY,UZ,VU,VA,VE,VN,VG,VI,WF,EH,YE,ZR,ZM,ZW};


    private static Countries[] getAllCountriess ()
    {
        return allCountriess;
    }

    private transient CurrencyType Currency;

    private Countries (String name, String value, String description, boolean disabled)
    {
        super (name, value, description, disabled);
    }

    public CurrencyType getCurrency()
    {
    return Currency;
    }
    
    public static final Comparator COMPARE_BY_POSITION = new CompareEnumByPosition (allCountriess);



    static
    {
        defineAdditionalData ();
    }

    public boolean isEqual (Countries other)
    {
    return this.name.equals (other.name);
    }

    public Enumeration getAllInstances ()
    {
        return Countries.getAll ();
    }


    private Object readResolve() throws java.io.ObjectStreamException
    {
        return Countries.forName (this.name);
    }


    public EnumeratedFactory getFactory ()
    {
        return FACTORY_Countries;
    }

    public static Countries forName (String name)
    {
        if (name == null) { return null; }

        Countries[] all = getAllCountriess();
        int enumIndex = AbstractEnumerated.getIndexForName (all, name);

        return all[enumIndex];
    }


    public static Countries forValue (String value)
    {
        if (value == null) { return null; }

        Countries[] all = getAllCountriess();
        int enumIndex = AbstractEnumerated.getIndexForValue (getAllCountriess (), value);

        return all[enumIndex];
    }


    public static java.util.Enumeration getAll ()
    {
        return AbstractEnumerated.getAll (getAllCountriess());
    }
    
    
    public static Countries[] getCountriesArray ()
    {
        return (Countries[])getAllCountriess().clone ();
    }


    public static void defineAdditionalData ()
    {
        AF.Currency = CurrencyType.USD;
        AL.Currency = CurrencyType.USD;
        DZ.Currency = CurrencyType.USD;
        AS.Currency = CurrencyType.USD;
        AD.Currency = CurrencyType.USD;
        AO.Currency = CurrencyType.USD;
        AI.Currency = CurrencyType.USD;
        AQ.Currency = CurrencyType.USD;
        AG.Currency = CurrencyType.USD;
        AR.Currency = CurrencyType.USD;
        AM.Currency = CurrencyType.USD;
        AW.Currency = CurrencyType.USD;
        AU.Currency = CurrencyType.AUD;
        AT.Currency = CurrencyType.EUR;
        AZ.Currency = CurrencyType.USD;
        BS.Currency = CurrencyType.USD;
        BH.Currency = CurrencyType.USD;
        BD.Currency = CurrencyType.USD;
        BB.Currency = CurrencyType.USD;
        BY.Currency = CurrencyType.USD;
        BE.Currency = CurrencyType.EUR;
        BZ.Currency = CurrencyType.USD;
        BJ.Currency = CurrencyType.USD;
        BM.Currency = CurrencyType.USD;
        BT.Currency = CurrencyType.USD;
        BO.Currency = CurrencyType.USD;
        BA.Currency = CurrencyType.USD;
        BW.Currency = CurrencyType.USD;
        BV.Currency = CurrencyType.USD;
        BR.Currency = CurrencyType.USD;
        IO.Currency = CurrencyType.GBP;
        BN.Currency = CurrencyType.USD;
        BG.Currency = CurrencyType.USD;
        BF.Currency = CurrencyType.USD;
        BI.Currency = CurrencyType.USD;
        KH.Currency = CurrencyType.USD;
        CM.Currency = CurrencyType.USD;
        CA.Currency = CurrencyType.CAD;
        CV.Currency = CurrencyType.USD;
        KY.Currency = CurrencyType.USD;
        CF.Currency = CurrencyType.USD;
        TD.Currency = CurrencyType.USD;
        CL.Currency = CurrencyType.USD;
        CN.Currency = CurrencyType.USD;
        CX.Currency = CurrencyType.AUD;
        CC.Currency = CurrencyType.AUD;
        CO.Currency = CurrencyType.USD;
        KM.Currency = CurrencyType.USD;
        CG.Currency = CurrencyType.USD;
        CD.Currency = CurrencyType.USD;
        CK.Currency = CurrencyType.USD;
        CR.Currency = CurrencyType.USD;
        CI.Currency = CurrencyType.USD;
        HR.Currency = CurrencyType.USD;
        CU.Currency = CurrencyType.USD;
        CY.Currency = CurrencyType.EUR;
        CZ.Currency = CurrencyType.USD;
        DK.Currency = CurrencyType.USD;
        DJ.Currency = CurrencyType.USD;
        DM.Currency = CurrencyType.USD;
        DO.Currency = CurrencyType.USD;
        TP.Currency = CurrencyType.USD;
        EC.Currency = CurrencyType.USD;
        EG.Currency = CurrencyType.USD;
        SV.Currency = CurrencyType.USD;
        GQ.Currency = CurrencyType.USD;
        ER.Currency = CurrencyType.USD;
        EE.Currency = CurrencyType.EUR;
        ET.Currency = CurrencyType.USD;
        FK.Currency = CurrencyType.USD;
        FO.Currency = CurrencyType.USD;
        FJ.Currency = CurrencyType.USD;
        FI.Currency = CurrencyType.EUR;
        FR.Currency = CurrencyType.EUR;
        GF.Currency = CurrencyType.USD;
        PF.Currency = CurrencyType.USD;
        TF.Currency = CurrencyType.USD;
        GA.Currency = CurrencyType.USD;
        GM.Currency = CurrencyType.USD;
        GE.Currency = CurrencyType.USD;
        DE.Currency = CurrencyType.EUR;
        GH.Currency = CurrencyType.USD;
        GI.Currency = CurrencyType.USD;
        GB.Currency = CurrencyType.USD;
        GR.Currency = CurrencyType.EUR;
        GL.Currency = CurrencyType.USD;
        GD.Currency = CurrencyType.USD;
        GP.Currency = CurrencyType.USD;
        GU.Currency = CurrencyType.USD;
        GT.Currency = CurrencyType.USD;
        GN.Currency = CurrencyType.USD;
        GW.Currency = CurrencyType.USD;
        GY.Currency = CurrencyType.USD;
        HT.Currency = CurrencyType.USD;
        HM.Currency = CurrencyType.USD;
        HN.Currency = CurrencyType.USD;
        HK.Currency = CurrencyType.USD;
        HU.Currency = CurrencyType.USD;
        IS.Currency = CurrencyType.USD;
        IN.Currency = CurrencyType.USD;
        ID.Currency = CurrencyType.USD;
        IR.Currency = CurrencyType.USD;
        IQ.Currency = CurrencyType.USD;
        IE.Currency = CurrencyType.EUR;
        IM.Currency = CurrencyType.GBP;
        IL.Currency = CurrencyType.USD;
        IT.Currency = CurrencyType.EUR;
        JM.Currency = CurrencyType.USD;
        JP.Currency = CurrencyType.USD;
        JO.Currency = CurrencyType.USD;
        KZ.Currency = CurrencyType.USD;
        KE.Currency = CurrencyType.USD;
        KI.Currency = CurrencyType.AUD;
        KW.Currency = CurrencyType.USD;
        KG.Currency = CurrencyType.USD;
        LA.Currency = CurrencyType.USD;
        LV.Currency = CurrencyType.EUR;
        LB.Currency = CurrencyType.USD;
        LS.Currency = CurrencyType.USD;
        LR.Currency = CurrencyType.USD;
        LY.Currency = CurrencyType.USD;
        LI.Currency = CurrencyType.USD;
        LT.Currency = CurrencyType.EUR;
        LU.Currency = CurrencyType.EUR;
        MO.Currency = CurrencyType.USD;
        MK.Currency = CurrencyType.USD;
        MG.Currency = CurrencyType.USD;
        MW.Currency = CurrencyType.USD;
        MY.Currency = CurrencyType.USD;
        MV.Currency = CurrencyType.USD;
        ML.Currency = CurrencyType.USD;
        MT.Currency = CurrencyType.EUR;
        MH.Currency = CurrencyType.USD;
        MQ.Currency = CurrencyType.USD;
        MR.Currency = CurrencyType.USD;
        MU.Currency = CurrencyType.USD;
        YT.Currency = CurrencyType.USD;
        MX.Currency = CurrencyType.USD;
        FM.Currency = CurrencyType.USD;
        MI.Currency = CurrencyType.USD;
        MD.Currency = CurrencyType.USD;
        MC.Currency = CurrencyType.USD;
        MN.Currency = CurrencyType.USD;
        ME.Currency = CurrencyType.USD;
        MS.Currency = CurrencyType.USD;
        MA.Currency = CurrencyType.USD;
        MZ.Currency = CurrencyType.USD;
        MM.Currency = CurrencyType.USD;
        NA.Currency = CurrencyType.USD;
        NR.Currency = CurrencyType.AUD;
        NP.Currency = CurrencyType.USD;
        NL.Currency = CurrencyType.EUR;
        AN.Currency = CurrencyType.USD;
        NC.Currency = CurrencyType.USD;
        NZ.Currency = CurrencyType.NZD;
        NI.Currency = CurrencyType.USD;
        NE.Currency = CurrencyType.USD;
        NG.Currency = CurrencyType.USD;
        NU.Currency = CurrencyType.NZD;
        NF.Currency = CurrencyType.AUD;
        KP.Currency = CurrencyType.USD;
        MP.Currency = CurrencyType.USD;
        NO.Currency = CurrencyType.USD;
        OM.Currency = CurrencyType.USD;
        PK.Currency = CurrencyType.USD;
        PW.Currency = CurrencyType.USD;
        PA.Currency = CurrencyType.USD;
        PG.Currency = CurrencyType.USD;
        PY.Currency = CurrencyType.USD;
        PE.Currency = CurrencyType.USD;
        PH.Currency = CurrencyType.USD;
        PN.Currency = CurrencyType.NZD;
        PL.Currency = CurrencyType.USD;
        PT.Currency = CurrencyType.EUR;
        PR.Currency = CurrencyType.USD;
        QA.Currency = CurrencyType.USD;
        RE.Currency = CurrencyType.USD;
        RO.Currency = CurrencyType.USD;
        RU.Currency = CurrencyType.USD;
        RQ.Currency = CurrencyType.USD;
        RW.Currency = CurrencyType.USD;
        SH.Currency = CurrencyType.USD;
        KN.Currency = CurrencyType.USD;
        LC.Currency = CurrencyType.USD;
        PM.Currency = CurrencyType.USD;
        VC.Currency = CurrencyType.USD;
        WS.Currency = CurrencyType.USD;
        SM.Currency = CurrencyType.USD;
        ST.Currency = CurrencyType.USD;
        SA.Currency = CurrencyType.USD;
        SN.Currency = CurrencyType.USD;
        RS.Currency = CurrencyType.USD;
        SC.Currency = CurrencyType.USD;
        SL.Currency = CurrencyType.USD;
        SG.Currency = CurrencyType.SGD;
        SK.Currency = CurrencyType.EUR;
        SI.Currency = CurrencyType.EUR;
        SB.Currency = CurrencyType.USD;
        SO.Currency = CurrencyType.USD;
        ZA.Currency = CurrencyType.USD;
        GS.Currency = CurrencyType.GBP;
        KR.Currency = CurrencyType.USD;
        ES.Currency = CurrencyType.EUR;
        LK.Currency = CurrencyType.USD;
        SD.Currency = CurrencyType.USD;
        SR.Currency = CurrencyType.USD;
        SJ.Currency = CurrencyType.USD;
        SZ.Currency = CurrencyType.USD;
        SE.Currency = CurrencyType.USD;
        CH.Currency = CurrencyType.USD;
        SY.Currency = CurrencyType.USD;
        TW.Currency = CurrencyType.USD;
        TJ.Currency = CurrencyType.USD;
        TZ.Currency = CurrencyType.USD;
        TH.Currency = CurrencyType.USD;
        TG.Currency = CurrencyType.USD;
        TK.Currency = CurrencyType.NZD;
        TO.Currency = CurrencyType.AUD;
        TT.Currency = CurrencyType.USD;
        TN.Currency = CurrencyType.USD;
        TR.Currency = CurrencyType.USD;
        TM.Currency = CurrencyType.USD;
        TC.Currency = CurrencyType.USD;
        TV.Currency = CurrencyType.AUD;
        UG.Currency = CurrencyType.USD;
        UA.Currency = CurrencyType.USD;
        AE.Currency = CurrencyType.USD;
        UK.Currency = CurrencyType.GBP;
        US.Currency = CurrencyType.USD;
        UM.Currency = CurrencyType.USD;
        UY.Currency = CurrencyType.USD;
        UZ.Currency = CurrencyType.USD;
        VU.Currency = CurrencyType.AUD;
        VA.Currency = CurrencyType.USD;
        VE.Currency = CurrencyType.USD;
        VN.Currency = CurrencyType.USD;
        VG.Currency = CurrencyType.USD;
        VI.Currency = CurrencyType.USD;
        WF.Currency = CurrencyType.USD;
        EH.Currency = CurrencyType.USD;
        YE.Currency = CurrencyType.USD;
        ZR.Currency = CurrencyType.USD;
        ZM.Currency = CurrencyType.USD;
        ZW.Currency = CurrencyType.USD;
        
    }


    static class CountriesFactory implements EnumeratedFactory
    {
        public AbstractEnumerated getForName (String name)
        {
            return Countries.forName (name);
        }

        public AbstractEnumerated getForValue (String name)
        {
            return Countries.forValue (name);
        }

        public Enumeration getAll ()
        {
            return Countries.getAll ();
        }
    }


    public Map getAdditionalAttributes ()
    {
        Map attribs = new HashMap ();

        attribs.put ("Currency", ArrayFormatter.toObject(getCurrency()));
        
        return attribs;
    }
    
    public static class CountriesPipeLineFactory<From, Me extends Countries> extends AbstractEnumerated.EnumPipeLine<From, Me>
    {
        public <Prev> CountriesPipeLineFactory (PipeLine<From, Prev> pipeLine, Pipe<Prev, Me> nextPipe)
        {
            super (pipeLine, nextPipe);
        }
        
        public CountriesPipeLineFactory (From seed)
        {
            super(seed);
        }

        public CountriesPipeLineFactory (Collection<From> seed)
        {
            super(seed);
        }
        
        public PipeLine<From, ? extends Object> to(String name)
        {
            if (name.equals ("Currency"))
            {
                return toCurrency ();
            }
            
            return super.to(name);
        }
        
        
        public PipeLine<From, CurrencyType> toCurrency () { return pipe(new EnumAttributePipe<Me, CurrencyType>("Currency")); }
    }
}

