private Provider buildProvider(BeanSpec spec, Set<BeanSpec> chain) { Class target = spec.rawType(); Constructor constructor = constructor(target); return null != constructor ? buildConstructor(constructor, spec, chain) : buildFieldMethodInjector(spec, chain); }
static <T> Provider<T> decorate(BeanSpec spec, Provider<T> realProvider, Genie genie) { if (realProvider instanceof PostConstructorInvoker) { return realProvider; } Method postConstructor = findPostConstructor(spec.rawType()); return null == postConstructor ? realProvider : new PostConstructorInvoker<T>(realProvider, postConstructor); }
static <T> Provider<T> decorate(BeanSpec spec, Provider<T> realProvider, Genie genie) { if (realProvider instanceof ScopedProvider) { return realProvider; } ScopeCache cache = resolve(spec.scope(), genie); return null == cache ? realProvider : new ScopedProvider<>(spec, cache, realProvider); }
static <T> Provider<T> decorate(BeanSpec spec, Provider<T> provider, Genie genie) { if (!spec.hasElementLoader()) { return provider; } if (provider instanceof ElementLoaderProvider) { return $.cast(provider); } if (spec.isMap()) { return new MapLoaderProvider(spec, provider, genie); } return new CollectionLoaderProvider(spec, provider, genie); }
protected StringValueResolverValueLoaderBase(StringValueResolverValueLoaderBase parent, Class<?> runtimeType, StringValueResolver resolver, Object defVal) { this.injector = parent.injector; this.resolverManager = parent.resolverManager; this.requireRuntimeType = false; this.paramKey = parent.paramKey; this.param = parent.param; this.defVal = defVal; this.stringValueResolver = resolver; this.defSpec = parent.defSpec; this.paramSpec = BeanSpec.of(runtimeType, this.injector); }
private boolean checkRequired(BeanSpec spec) { return (spec.hasAnnotation(NotNull.class) || spec.hasAnnotation(NotBlank.class) || spec.hasAnnotation(NotEmpty.class)); }
private static void foundCircularDependency(Set<BeanSpec> chain, BeanSpec last) { throw InjectException.circularDependency(debugChain(chain, last)); }
private static Genie genie() { if (null == genie) { genie = Genie.create(); } return genie; }
@Override public String key(BeanSpec spec) { return spec.toString(); } }
private Provider buildProvider(BeanSpec spec, Set<BeanSpec> chain) { Class target = spec.rawType(); Constructor constructor = constructor(target); return null != constructor ? buildConstructor(constructor, spec, chain) : buildFieldMethodInjector(spec, chain); }
static <T> Provider<T> decorate(BeanSpec spec, Provider<T> realProvider, Genie genie) { if (realProvider instanceof PostConstructorInvoker) { return realProvider; } Method postConstructor = findPostConstructor(spec.rawType()); return null == postConstructor ? realProvider : new PostConstructorInvoker<T>(realProvider, postConstructor); }
static <T> Provider<T> decorate(BeanSpec spec, Provider<T> provider, Genie genie) { if (!spec.hasElementLoader()) { return provider; } if (provider instanceof ElementLoaderProvider) { return $.cast(provider); } if (spec.isMap()) { return new MapLoaderProvider(spec, provider, genie); } return new CollectionLoaderProvider(spec, provider, genie); }
static <T> Provider<T> decorate(BeanSpec spec, Provider<T> realProvider, Genie genie) { if (realProvider instanceof ScopedProvider) { return realProvider; } ScopeCache cache = resolve(spec.scope(), genie); return null == cache ? realProvider : new ScopedProvider<>(spec, cache, realProvider); }
private boolean checkRequired(BeanSpec spec) { return (spec.hasAnnotation(NotNull.class) || spec.hasAnnotation(NotBlank.class) || spec.hasAnnotation(NotEmpty.class)); }
private static Genie genie() { if (null == genie) { genie = Genie.create(); } return genie; }
static boolean sessionScoped(BeanSpec spec) { return spec.hasAnnotation(SessionScoped.class) || spec.hasAnnotation(org.osgl.inject.annotation.SessionScoped.class); }