Line data Source code
1 : // Copyright (C) 2009 The Android Open Source Project 2 : // 3 : // Licensed under the Apache License, Version 2.0 (the "License"); 4 : // you may not use this file except in compliance with the License. 5 : // You may obtain a copy of the License at 6 : // 7 : // http://www.apache.org/licenses/LICENSE-2.0 8 : // 9 : // Unless required by applicable law or agreed to in writing, software 10 : // distributed under the License is distributed on an "AS IS" BASIS, 11 : // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 : // See the License for the specific language governing permissions and 13 : // limitations under the License. 14 : 15 : package com.google.gerrit.pgm.http.jetty; 16 : 17 : import com.google.gerrit.lifecycle.LifecycleModule; 18 : import com.google.gerrit.pgm.http.jetty.HttpLog.HttpLogFactory; 19 : import com.google.inject.assistedinject.FactoryModuleBuilder; 20 : 21 : public class JettyModule extends LifecycleModule { 22 : private final JettyEnv env; 23 : 24 99 : public JettyModule(JettyEnv env) { 25 99 : this.env = env; 26 99 : } 27 : 28 : @Override 29 : protected void configure() { 30 99 : bind(JettyEnv.class).toInstance(env); 31 99 : bind(JettyServer.class); 32 99 : listener().to(JettyServer.Lifecycle.class); 33 99 : install(new FactoryModuleBuilder().build(HttpLogFactory.class)); 34 99 : bind(JettyMetrics.class); 35 99 : } 36 : }