private static ScopeCache resolveBuiltIn(Class<? extends Annotation> annoClass, Genie genie) { if (Singleton.class == annoClass) { return genie.get(ScopeCache.SingletonScope.class); } else if (RequestScoped.class == annoClass) { return genie.get(ScopeCache.RequestScope.class); } else if (SessionScoped.class == annoClass) { return genie.get(ScopeCache.SessionScope.class); } return null; } }
private static ScopeCache resolveBuiltIn(Class<? extends Annotation> annoClass, Genie genie) { if (Singleton.class == annoClass) { return genie.get(ScopeCache.SingletonScope.class); } else if (RequestScoped.class == annoClass) { return genie.get(ScopeCache.RequestScope.class); } else if (SessionScoped.class == annoClass) { return genie.get(ScopeCache.SessionScope.class); } return null; } }
public void registerScopeProvider(Class<? extends Annotation> scopeAnnotation, Class<? extends ScopeCache> scopeCacheClass) { scopeProviders.put(scopeAnnotation, get(scopeCacheClass)); }
public void registerScopeProvider(Class<? extends Annotation> scopeAnnotation, Class<? extends ScopeCache> scopeCacheClass) { scopeProviders.put(scopeAnnotation, get(scopeCacheClass)); }
@Override public <T> T get(Class<T> clazz) { return genie().get(clazz); }
@Override public <T> T get(Class<T> clazz) { return genie().get(clazz); }
@Override public Object get() { ArrayList list = genie.get(listSpec); return listToArray(list); }
@Override public Object get() { ArrayList list = genie.get(listSpec); return listToArray(list); }
public <T> T get(BeanSpec spec) { return genie().get(spec); }
public <T> T get(BeanSpec spec) { return genie().get(spec); }
/** * Return an instance with give class * * @param clz the class * @param <T> the generic type of the class * @return the instance of the class */ public static <T> T getInstance(Class<? extends T> clz) { App app = app(); return null == app ? genie().get(clz) : app.getInstance(clz); }
/** * Return an instance with give class * * @param clz the class * @param <T> the generic type of the class * @return the instance of the class */ public static <T> T getInstance(Class<? extends T> clz) { App app = app(); return null == app ? genie().get(clz) : app.getInstance(clz); }
MapLoaderProvider(BeanSpec spec, Provider<T> provider, Genie genie) { super(spec, provider, genie); MapKey mapKey = spec.mapKey(); this.keyExtractor = genie.get(mapKey.extractor()); this.hint = mapKey.value(); }
MapLoaderProvider(BeanSpec spec, Provider<T> provider, Genie genie) { super(spec, provider, genie); MapKey mapKey = spec.mapKey(); this.keyExtractor = genie.get(mapKey.extractor()); this.hint = mapKey.value(); }
static <T> Provider<T> create(BeanSpec spec, Genie genie) { Annotation anno = spec.valueLoader(); E.illegalArgumentIf(null == anno); Map<String, Object> options = $.evaluate(anno); Class<? extends Annotation> annoType = anno.annotationType(); LoadValue loadValue; if (LoadValue.class == annoType) { loadValue = (LoadValue) anno; } else { loadValue = annoType.getAnnotation(LoadValue.class); } ValueLoader<T> valueLoader = genie.get(loadValue.value()); valueLoader.init(options, spec); return valueLoader; }
static <T> Provider<T> create(BeanSpec spec, Genie genie) { Annotation anno = spec.valueLoader(); E.illegalArgumentIf(null == anno); Map<String, Object> options = $.evaluate(anno); Class<? extends Annotation> annoType = anno.annotationType(); LoadValue loadValue; if (LoadValue.class == annoType) { loadValue = (LoadValue) anno; } else { loadValue = annoType.getAnnotation(LoadValue.class); } ValueLoader<T> valueLoader = genie.get(loadValue.value()); valueLoader.init(options, spec); return valueLoader; }
private static C.List<FilterInfo> filters(Genie genie, BeanSpec spec) { C.List<FilterInfo> list = C.newList(); Set<Annotation> annotations = spec.filters(); for (Annotation anno : annotations) { Class<? extends Annotation> annoClass = anno.annotationType(); Filter filterTag = (Filter.class == annoClass) ? (Filter) anno : annoClass.getAnnotation(Filter.class); ElementFilter loader = genie.get(filterTag.value()); list.add(new FilterInfo(loader, filterTag.reverse(), anno, spec)); } return list; }
private static C.List<LoaderInfo> loaders(Genie genie, BeanSpec spec) { C.List<LoaderInfo> list = C.newList(); Set<Annotation> loaders = spec.loaders(); for (Annotation anno : loaders) { Class<? extends Annotation> annoClass = anno.annotationType(); LoadCollection loaderTag = LoadCollection.class == annoClass ? ((LoadCollection) anno) : annoClass.getAnnotation(LoadCollection.class); ElementLoader loader = genie.get(loaderTag.value()); list.add(new LoaderInfo(loader, loaderTag.reverseFilter(), anno, spec)); } return list; }
private static C.List<LoaderInfo> loaders(Genie genie, BeanSpec spec) { C.List<LoaderInfo> list = C.newList(); Set<Annotation> loaders = spec.loaders(); for (Annotation anno : loaders) { Class<? extends Annotation> annoClass = anno.annotationType(); LoadCollection loaderTag = LoadCollection.class == annoClass ? ((LoadCollection) anno) : annoClass.getAnnotation(LoadCollection.class); ElementLoader loader = genie.get(loaderTag.value()); list.add(new LoaderInfo(loader, loaderTag.reverseFilter(), anno, spec)); } return list; }
private static C.List<FilterInfo> filters(Genie genie, BeanSpec spec) { C.List<FilterInfo> list = C.newList(); Set<Annotation> annotations = spec.filters(); for (Annotation anno : annotations) { Class<? extends Annotation> annoClass = anno.annotationType(); Filter filterTag = (Filter.class == annoClass) ? (Filter) anno : annoClass.getAnnotation(Filter.class); ElementFilter loader = genie.get(filterTag.value()); list.add(new FilterInfo(loader, filterTag.reverse(), anno, spec)); } return list; }