ServerGwtBridge() { threadProperties = new ThreadLocal<PropertiesImpl>() { @Override protected PropertiesImpl initialValue() { return new PropertiesImpl(); } }; // register built-in instantiators register(Object.class, new ObjectNew()); register(Localizable.class, new LocalizableInstantiator()); }
@Override public <T> T create(Class<?> clazz, Properties properties) { String pkgName = clazz.getPackage().getName(); Class<?> enclosingClass = clazz.getEnclosingClass(); String className = clazz.getSimpleName(); GwtLocale locale = ServerGwtBridge.getLocale(properties); for (GwtLocale search : locale.getCompleteSearchList()) { String suffix = "_" + search.getAsString(); T obj = this.<T>tryCreate(pkgName + "." + className + suffix); if (obj != null) { return obj; } obj = this.<T>tryCreate(pkgName + ".impl." + className + suffix); if (obj != null) { return obj; } obj = this.<T>tryCreate(pkgName + "." + className + "Impl" + suffix); if (obj != null) { return obj; } if (enclosingClass != null) { obj = this.<T>tryCreate(enclosingClass.getCanonicalName() + "$" + className + suffix); if (obj != null) { return obj; } } } return null; } }
ServerGwtBridge() { threadProperties = new ThreadLocal<PropertiesImpl>() { @Override protected PropertiesImpl initialValue() { return new PropertiesImpl(); } }; // register built-in instantiators register(Object.class, new ObjectNew()); register(Localizable.class, new LocalizableInstantiator()); }
@Override public <T> T create(Class<?> clazz, Properties properties) { String pkgName = clazz.getPackage().getName(); Class<?> enclosingClass = clazz.getEnclosingClass(); String className = clazz.getSimpleName(); GwtLocale locale = ServerGwtBridge.getLocale(properties); for (GwtLocale search : locale.getCompleteSearchList()) { String suffix = "_" + search.getAsString(); T obj = this.<T>tryCreate(pkgName + "." + className + suffix); if (obj != null) { return obj; } obj = this.<T>tryCreate(pkgName + ".impl." + className + suffix); if (obj != null) { return obj; } obj = this.<T>tryCreate(pkgName + "." + className + "Impl" + suffix); if (obj != null) { return obj; } if (enclosingClass != null) { obj = this.<T>tryCreate(enclosingClass.getCanonicalName() + "$" + className + suffix); if (obj != null) { return obj; } } } return null; } }
ServerGwtBridge() { threadProperties = new ThreadLocal<PropertiesImpl>() { @Override protected PropertiesImpl initialValue() { return new PropertiesImpl(); } }; // register built-in instantiators register(Object.class, new ObjectNew()); register(Localizable.class, new LocalizableInstantiator()); }
@Override public <T> T create(Class<?> clazz, Properties properties) { String pkgName = clazz.getPackage().getName(); Class<?> enclosingClass = clazz.getEnclosingClass(); String className = clazz.getSimpleName(); GwtLocale locale = ServerGwtBridge.getLocale(properties); for (GwtLocale search : locale.getCompleteSearchList()) { String suffix = "_" + search.getAsString(); T obj = this.<T>tryCreate(pkgName + "." + className + suffix); if (obj != null) { return obj; } obj = this.<T>tryCreate(pkgName + ".impl." + className + suffix); if (obj != null) { return obj; } obj = this.<T>tryCreate(pkgName + "." + className + "Impl" + suffix); if (obj != null) { return obj; } if (enclosingClass != null) { obj = this.<T>tryCreate(enclosingClass.getCanonicalName() + "$" + className + suffix); if (obj != null) { return obj; } } } return null; } }