protected IndexedJavaClassDescriptor addToStoredClassDescriptors(Class<?> clazz) { JavaClassDescriptor desc = externalizersConfig.getJavaDescriptorsCache().get(clazz.getName()); if (desc == null) { // find custom class descriptor and instantiate it if any. Class<? extends JavaClassDescriptor> descriptorType = externalizersConfig.getJavaDescriptor(clazz.getName()); if (descriptorType != null) { try { desc = TypeUtil.newInstance(descriptorType, new Class[]{Class.class}, new Object[]{clazz}); } catch (Exception e) { throw new RuntimeException("Could not instantiate Java descriptor: " + descriptorType); } } else desc = new DefaultJavaClassDescriptor(clazz); externalizersConfig.getJavaDescriptorsCache().putIfAbsent(clazz.getName(), desc); } IndexedJavaClassDescriptor iDesc = new IndexedJavaClassDescriptor(storedClassDescriptors.size(), desc); storedClassDescriptors.put(clazz, iDesc); return iDesc; }
protected IndexedJavaClassDescriptor addToStoredClassDescriptors(Class<?> clazz) { JavaClassDescriptor desc = externalizersConfig.getJavaDescriptorsCache().get(clazz.getName()); if (desc == null) { // find custom class descriptor and instantiate it if any. Class<? extends JavaClassDescriptor> descriptorType = externalizersConfig.getJavaDescriptor(clazz.getName()); if (descriptorType != null) { try { desc = TypeUtil.newInstance(descriptorType, new Class[]{Class.class}, new Object[]{clazz}); } catch (Exception e) { throw new RuntimeException("Could not instantiate Java descriptor: " + descriptorType); } } else desc = new DefaultJavaClassDescriptor(clazz); externalizersConfig.getJavaDescriptorsCache().putIfAbsent(clazz.getName(), desc); } IndexedJavaClassDescriptor iDesc = new IndexedJavaClassDescriptor(storedClassDescriptors.size(), desc); storedClassDescriptors.put(clazz, iDesc); return iDesc; }
protected IndexedJavaClassDescriptor addToStoredClassDescriptors(Class<?> clazz) { JavaClassDescriptor desc = externalizersConfig.getJavaDescriptorsCache().get(clazz.getName()); if (desc == null) { // find custom class descriptor and instantiate it if any. Class<? extends JavaClassDescriptor> descriptorType = externalizersConfig.getJavaDescriptor(clazz.getName()); if (descriptorType != null) { try { desc = TypeUtil.newInstance(descriptorType, new Class[]{Class.class}, new Object[]{clazz}); } catch (Exception e) { throw new RuntimeException("Could not instantiate Java descriptor: " + descriptorType); } } else desc = new DefaultJavaClassDescriptor(clazz); externalizersConfig.getJavaDescriptorsCache().putIfAbsent(clazz.getName(), desc); } IndexedJavaClassDescriptor iDesc = new IndexedJavaClassDescriptor(storedClassDescriptors.size(), desc); storedClassDescriptors.put(clazz, iDesc); return iDesc; }