コード例 #1
0
 public String decode(String attrName, long value) {
   MAttr attr = attrMap.get(attrName);
   if (attr == null) {
     return null;
   }
   if (attr.getType() == MAttrType.ENUM) {
     String name = attr.getValues().get(value);
     if (name != null) {
       return name;
     }
   } else if (attr.getType() == MAttrType.FLAG) {
     StringBuilder sb = new StringBuilder();
     for (Map.Entry<Long, String> entry : attr.getValues().entrySet()) {
       if ((value & entry.getKey()) != 0) {
         sb.append(entry.getValue()).append('|');
       }
     }
     if (sb.length() != 0) {
       return sb.deleteCharAt(sb.length() - 1).toString();
     }
   }
   return "UNKNOWN_DATA_0x" + Long.toHexString(value);
 }