private static Class<?> map(String className, int id) { Class<?> clazz = RuntimeEnv.loadClass(className); __nonPublicMaps.put(clazz, id); return clazz; }
private static Class<?> map(String className, int id) { Class<?> clazz = RuntimeEnv.loadClass(className); __nonPublicCollections.put(clazz, id); return clazz; }
private static Class<?> map(String className, int id) { Class<?> clazz = RuntimeEnv.loadClass(className); __nonPublicCollections.put(clazz, id); return clazz; }
private static Class<?> map(String className, int id) { Class<?> clazz = RuntimeEnv.loadClass(className); __nonPublicMaps.put(clazz, id); return clazz; }
private EnumIO<? extends Enum<?>> getEnumIO(String className, boolean load) { EnumIO<?> eio = enumMapping.get(className); if (eio == null) { if (!load) return null; final Class<?> enumClass = RuntimeEnv.loadClass(className); eio = EnumIO.newEnumIO(enumClass, this); final EnumIO<?> existing = enumMapping.putIfAbsent( enumClass.getName(), eio); if (existing != null) eio = existing; } return eio; }
@SuppressWarnings("unchecked") private <T> HasSchema<T> getSchemaWrapper(String className, boolean load) { HasSchema<T> hs = (HasSchema<T>) pojoMapping.get(className); if (hs == null) { if (!load) return null; final Class<T> typeClass = RuntimeEnv.loadClass(className); hs = new Lazy<T>(typeClass, this); final HasSchema<T> last = (HasSchema<T>) pojoMapping.putIfAbsent( typeClass.getName(), hs); if (last != null) hs = last; } return hs; }
private EnumIO<? extends Enum<?>> getEnumIO(String className, boolean load) { EnumIO<?> eio = enumMapping.get(className); if (eio == null) { if (!load) return null; final Class<?> enumClass = RuntimeEnv.loadClass(className); eio = EnumIO.newEnumIO(enumClass, this); final EnumIO<?> existing = enumMapping.putIfAbsent( enumClass.getName(), eio); if (existing != null) eio = existing; } return eio; }
@SuppressWarnings("unchecked") private <T> HasSchema<T> getSchemaWrapper(String className, boolean load) { HasSchema<T> hs = (HasSchema<T>) pojoMapping.get(className); if (hs == null) { if (!load) return null; final Class<T> typeClass = RuntimeEnv.loadClass(className); hs = new Lazy<T>(typeClass, this); final HasSchema<T> last = (HasSchema<T>) pojoMapping.putIfAbsent( typeClass.getName(), hs); if (last != null) hs = last; } return hs; }
static Class<?> resolveClass(String className) { final RuntimeFieldFactory<Object> inline = RuntimeFieldFactory .getInline(className); if (inline == null) return RuntimeEnv.loadClass(className); if (className.indexOf('.') != -1) return inline.typeClass(); switch (inline.id) { case ID_BOOL: return boolean.class; case ID_BYTE: return byte.class; case ID_CHAR: return char.class; case ID_SHORT: return short.class; case ID_INT32: return int.class; case ID_INT64: return long.class; case ID_FLOAT: return float.class; case ID_DOUBLE: return double.class; default: throw new RuntimeException("Should never happen."); } }
static Class<?> resolveClass(String className) { final RuntimeFieldFactory<Object> inline = RuntimeFieldFactory .getInline(className); if (inline == null) return RuntimeEnv.loadClass(className); if (className.indexOf('.') != -1) return inline.typeClass(); switch (inline.id) { case ID_BOOL: return boolean.class; case ID_BYTE: return byte.class; case ID_CHAR: return char.class; case ID_SHORT: return short.class; case ID_INT32: return int.class; case ID_INT64: return long.class; case ID_FLOAT: return float.class; case ID_DOUBLE: return double.class; default: throw new RuntimeException("Should never happen."); } }
@Override protected Class<?> resolveArrayComponentTypeFrom(Input input, boolean mapped) throws IOException { return mapped ? RuntimeEnv.loadClass(input.readString()) : resolveClass(input.readUInt32()); }
@Override protected Class<?> resolveClassFrom(Input input, boolean mapped, boolean array) throws IOException { return mapped ? RuntimeEnv.loadClass(input.readString()) : resolveClass(input.readUInt32()); }
@Override protected MapSchema.MessageFactory resolveMapFrom(Input input) throws IOException { final String className = input.readString(); MapSchema.MessageFactory factory = mapMapping.get(className); if (factory == null) { if (className.indexOf('.') == -1 && MapSchema.MessageFactories.accept(className)) { factory = MapSchema.MessageFactories.valueOf(className); } else { factory = new RuntimeMapFactory(RuntimeEnv.loadClass(className)); MapSchema.MessageFactory f = mapMapping.putIfAbsent(className, factory); if (f != null) factory = f; } } return factory; }
@Override protected MapSchema.MessageFactory resolveMapFrom(Input input) throws IOException { final String className = input.readString(); MapSchema.MessageFactory factory = mapMapping.get(className); if (factory == null) { if (className.indexOf('.') == -1 && MapSchema.MessageFactories.accept(className)) { factory = MapSchema.MessageFactories.valueOf(className); } else { factory = new RuntimeMapFactory(RuntimeEnv.loadClass(className)); MapSchema.MessageFactory f = mapMapping.putIfAbsent(className, factory); if (f != null) factory = f; } } return factory; }
@Override protected CollectionSchema.MessageFactory resolveCollectionFrom(Input input) throws IOException { final String className = input.readString(); CollectionSchema.MessageFactory factory = collectionMapping .get(className); if (factory == null) { if (className.indexOf('.') == -1 && CollectionSchema.MessageFactories.accept(className)) { factory = CollectionSchema.MessageFactories.valueOf(className); } else { factory = new RuntimeCollectionFactory( RuntimeEnv.loadClass(className)); CollectionSchema.MessageFactory f = collectionMapping .putIfAbsent(className, factory); if (f != null) factory = f; } } return factory; }
@Override protected CollectionSchema.MessageFactory resolveCollectionFrom(Input input) throws IOException { final String className = input.readString(); CollectionSchema.MessageFactory factory = collectionMapping .get(className); if (factory == null) { if (className.indexOf('.') == -1 && CollectionSchema.MessageFactories.accept(className)) { factory = CollectionSchema.MessageFactories.valueOf(className); } else { factory = new RuntimeCollectionFactory( RuntimeEnv.loadClass(className)); CollectionSchema.MessageFactory f = collectionMapping .putIfAbsent(className, factory); if (f != null) factory = f; } } return factory; }
private EnumIO<? extends Enum<?>> getEnumIO(String className, boolean load) { EnumIO<?> eio = enumMapping.get(className); if (eio == null) { if (!load) return null; final Class<?> enumClass = RuntimeEnv.loadClass(className); eio = EnumIO.newEnumIO(enumClass, this); final EnumIO<?> existing = enumMapping.putIfAbsent(enumClass.getName(), eio); if (existing != null) eio = existing; } return eio; }
@SuppressWarnings("unchecked") private <T> HasSchema<T> getSchemaWrapper(String className, boolean load) { HasSchema<T> hs = (HasSchema<T>) pojoMapping.get(className); if (hs == null) { if (!load) return null; final Class<T> typeClass = RuntimeEnv.loadClass(className); hs = new Lazy<T>(typeClass, this); final HasSchema<T> last = (HasSchema<T>) pojoMapping.putIfAbsent(typeClass.getName(), hs); if (last != null) hs = last; } return hs; }
@Override protected Class<?> resolveArrayComponentTypeFrom(Input input, boolean mapped) throws IOException { return mapped ? RuntimeEnv.loadClass(input.readString()) : resolveClass(input.readUInt32()); }
@Override protected Class<?> resolveClassFrom(Input input, boolean mapped, boolean array) throws IOException { return mapped ? RuntimeEnv.loadClass(input.readString()) : resolveClass(input.readUInt32()); }