package tc.oc.api.servers; import com.google.inject.multibindings.OptionalBinder; import tc.oc.api.docs.Server; import tc.oc.api.docs.virtual.ServerDoc; import tc.oc.api.model.ModelBinders; import tc.oc.commons.core.inject.HybridManifest; public class ServerModelManifest extends HybridManifest implements ModelBinders { @Override protected void configure() { bindAndExpose(ServerStore.class); bindModel(Server.class, ServerDoc.Partial.class, model -> { model.bindStore().to(ServerStore.class); model.bindService().to(ServerService.class); }); OptionalBinder.newOptionalBinder(publicBinder(), ServerService.class); } }