MCPcopy Create free account
hub / github.com/e2wugui/zeze / parseKey

Method parseKey

ZezeJava/ZezeJava/src/main/java/Zeze/Component/DbWeb.java:100–120  ·  view source on GitHub ↗
(TableX<?, ?> table, String key)

Source from the content-addressed store, hash-verified

98 }
99
100 private static Object parseKey(TableX<?, ?> table, String key) {
101 Object k;
102 Type keyType;
103 if (table instanceof TableDynamic)
104 keyType = table.getKeyClass();
105 else
106 keyType = ((ParameterizedType)table.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
107 if (keyType == Long.class)
108 k = Long.parseLong(key);
109 else if (keyType == Integer.class)
110 k = Integer.parseInt(key);
111 else if (keyType == String.class)
112 k = key;
113 else if (keyType == Binary.class)
114 k = new Binary(key);
115 else if (keyType instanceof Class && Serializable.class.isAssignableFrom((Class<?>)keyType)) // BeanKey
116 k = Json.parse(key, (Class<?>)keyType);
117 else
118 throw new IllegalStateException("ERROR: unsupported key of " + keyType + " for table " + table.getName());
119 return k;
120 }
121
122 @SuppressWarnings("unchecked")
123 public static <K extends Comparable<K>, V extends Bean> K walkKey(TableX<?, ?> table, Object exclusiveStartKey,

Callers 4

OnServletWalkTableMethod · 0.95
OnServletGetValueMethod · 0.95
OnServletPutRecordMethod · 0.95
OnServletDeleteRecordMethod · 0.95

Calls 5

parseMethod · 0.95
parseLongMethod · 0.80
parseIntMethod · 0.80
getNameMethod · 0.65
getKeyClassMethod · 0.45

Tested by

no test coverage detected