Example #1
0
 /**
  * @param addr 此参数要为标准地址
  * @param realName
  */
 public void setAddr(CityToken addr, String realName) {
   switch (addr.getLevel()) {
     case 1:
       provinceAddress = addr;
       provinceAddressReal = realName;
       break;
     case 2:
       cityAddress = addr;
       cityAddressReal = realName;
       break;
     case 3:
       areaAddress = addr;
       areaAddressReal = realName;
       break;
     case 4:
       townAddress = addr;
       townAddressReal = realName;
       break;
     default:
   }
 }
 public synchronized DFA get() {
   if (dfa123 == this) {
     Set<String> nameSet = new HashSet<String>();
     for (Map.Entry<Long, List<CityToken>> e : DataCache.pIdMap.entrySet()) {
       for (CityToken ct : e.getValue()) {
         if (ct.getLevel() <= 3) {
           nameSet.add(ct.getName());
         } else {
           break;
         }
       }
     }
     final DFA dfa = DFA.create(NodeCreater.create(nameSet));
     dfa123 =
         new DFASupplier() {
           public DFA get() {
             return dfa;
           }
         };
     return dfa;
   }
   return dfa123.get();
 }