1 package com.atlassian.pageobjects.binder;
2
3 import com.atlassian.pageobjects.ProductInstance;
4 import com.atlassian.pageobjects.TestedProduct;
5 import com.atlassian.pageobjects.Tester;
6 import com.google.inject.Binder;
7 import com.google.inject.Module;
8
9
10
11
12 public class StandardModule implements Module
13 {
14 private final TestedProduct testedProduct;
15
16 public StandardModule(TestedProduct testedProduct)
17 {
18 this.testedProduct = testedProduct;
19 }
20
21 public void configure(Binder binder)
22 {
23 binder.bind(TestedProduct.class).toInstance(testedProduct);
24 binder.bind((Class<TestedProduct>)testedProduct.getClass()).toInstance(testedProduct);
25
26 binder.bind(Tester.class).toInstance(testedProduct.getTester());
27 binder.bind((Class<Tester>)testedProduct.getTester().getClass()).toInstance(testedProduct.getTester());
28
29 binder.bind(ProductInstance.class).toInstance(testedProduct.getProductInstance());
30 }
31 }