private void addAssetConverter(Class<?> api) { TypeRef resourceRef = TypeRef.of(api).to(Vault.class); Class<?> idType = resourceRef.param(0).rawClass(); Class<?> itemType = resourceRef.param(1).rawClass(); Service service = api.getAnnotation(Service.class); String address = ""; if (service != null) { address = service.value(); } if (address.isEmpty()) { address = "/" + itemType.getSimpleName(); } TypeRef convertRef = TypeRef.of(Convert.class, String.class, itemType); Convert<String,?> convert = new ConvertAsset(address, itemType); bean(convert).to(Key.of(convertRef.type())); }
public BindingBuilder<T> scope(Class<? extends Annotation> scopeType) { Objects.requireNonNull(scopeType); _scopeType = scopeType; _builder.scope(scopeType); return this; }
@Override public WebServerImpl build(WebServerBuilderImpl builder) { builder.bean(ViewJsonDefault.class).to(new Key<ViewResolver<Object>>() {}); //ServerBuilderBaratine serverBuilder; //serverBuilder = new ServerBuilderBaratine(builder.config()); builder.init(()->{ //initBartender(builder); }); builder.init(()->{ KrakenSystem.createAndAddSystem(builder.serverSelf()); }); builder.init(()->{ JournalSystem.createAndAddSystem(); }); //builder.serverBuilder(serverBuilder); //return new WebServerImpl(builder); return builder.build(); }
@Override public void init(ServicesBuilder builder) { SchemePipeImpl pipeScheme = new SchemePipeImpl("pipe:"); builder.service(pipeScheme) .address("pipe:") .start(); InjectorBuilder injector = builder.injector(); injector.bean(PipeInMethodGenerator.class) .to(Key.of(MethodOnInitGenerator.class, PipeIn.class)); // builder.in //pipeRef.start(); //services. } }
void build(WebApp webApp) { Objects.requireNonNull(webApp); _webApp = webApp; _autoBind = new WebAppAutoBind(webApp); _injectBuilder.autoBind(_autoBind); _injectBuilder.include(ValidatorProviderDefault.class); //_injectBuilder.provider(()->webApp.config()).to(Config.class); _injectBuilder.provider(()->webApp.inject()).to(Injector.class); _injectBuilder.provider(()->webApp.services()).to(Services.class); generateFromFactory(); // defaults get("/**").to(StaticFileWeb.class); _injectBuilder.get(); _serviceBuilder.start(); }
@Override public InjectorBuilder injector() { if (_injector == null) { InjectBuilderAmp builder; builder = InjectorAmp.manager(); // XXX: builder.autoBind(new InjectAutoBindService(_holder)); builder.provider(()->_holder.get()).to(Services.class); builder.provider(()->_holder.get()).to(ServicesAmp.class); _injector = builder; } return _injector; }
@Override public BindingBuilder<T> to(Key<? super T> key) { Objects.requireNonNull(key); _key = key; _builder.to(key); return this; }
@Override protected void initSelf() { super.initSelf(); injectBuilder().bean(JsonEngineDefault.class).to(JsonEngine.class).priority(-1000); injectBuilder().bean(ViewJsonDefault.class).to(ViewResolver.class).priority(-1000); //injectBuilder().include(JsonEngineProviderDefault.class); //injectBuilder().include(ViewJsonDefault.class, Object.class, -1000); }
@Override public BindingBuilder<T> priority(int priority) { _priority = priority; _builder.priority(priority); return this; }
@Override public BindingBuilder<T> to(Class<? super T> api) { Objects.requireNonNull(api); _api = api; _builder.to(api); return this; }