*/
package org.opendaylight.genius.simple;
-import com.google.inject.AbstractModule;
+import org.opendaylight.infrautils.inject.guice.AutoWiringModule;
import org.opendaylight.infrautils.inject.guice.GuiceClassPathBinder;
-public class AlivenessMonitorWiring extends AbstractModule {
-
- private final GuiceClassPathBinder classPathBinder;
+public class AlivenessMonitorWiring extends AutoWiringModule {
public AlivenessMonitorWiring(GuiceClassPathBinder classPathBinder) {
- this.classPathBinder = classPathBinder;
- }
-
- @Override
- protected void configure() {
- classPathBinder.bindAllSingletons("org.opendaylight.genius.alivenessmonitor", binder());
+ super(classPathBinder, "org.opendaylight.genius.alivenessmonitor");
}
}
--- /dev/null
+/*
+ * Copyright (c) 2018 Red Hat, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.infrautils.inject.guice;
+
+import com.google.inject.AbstractModule;
+import java.util.Optional;
+
+/**
+ * Guice Module with classpath scanning based autowiring.
+ *
+ * @author Michael Vorburger.ch
+ */
+public class AutoWiringModule extends AbstractModule {
+
+ protected final GuiceClassPathBinder classPathBinder;
+ private final Optional<String> packagePrefix;
+
+ public AutoWiringModule(GuiceClassPathBinder classPathBinder, String packagePrefix) {
+ this.classPathBinder = classPathBinder;
+ this.packagePrefix = Optional.of(packagePrefix);
+ }
+
+ protected AutoWiringModule(GuiceClassPathBinder classPathBinder) {
+ this.classPathBinder = classPathBinder;
+ this.packagePrefix = Optional.empty();
+ }
+
+ @Override
+ protected void configure() {
+ packagePrefix.ifPresent(prefix -> classPathBinder.bindAllSingletons(prefix, binder()));
+ }
+}
*/
package org.opendaylight.netvirt.simple;
-import com.google.inject.AbstractModule;
import org.opendaylight.genius.simple.GeniusWiring;
+import org.opendaylight.infrautils.inject.guice.AutoWiringModule;
import org.opendaylight.infrautils.inject.guice.GuiceClassPathBinder;
-public class NetvirtWiring extends AbstractModule {
-
- private final GuiceClassPathBinder classPathBinder;
+public class NetvirtWiring extends AutoWiringModule {
public NetvirtWiring(GuiceClassPathBinder classPathBinder) {
- this.classPathBinder = classPathBinder;
+ super(classPathBinder);
}
@Override
install(new AclServiceWiring());
}
-
}