View Javadoc

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   public class StandardModule implements Module
10  {
11      private final TestedProduct testedProduct;
12  
13      public StandardModule(TestedProduct testedProduct)
14      {
15          this.testedProduct = testedProduct;
16      }
17  
18      @SuppressWarnings("unchecked")
19      public void configure(Binder binder)
20      {
21          binder.bind(TestedProduct.class).toInstance(testedProduct);
22          binder.bind((Class<TestedProduct>) testedProduct.getClass()).toInstance(testedProduct);
23  
24          binder.bind(Tester.class).toInstance(testedProduct.getTester());
25          binder.bind((Class<Tester>) testedProduct.getTester().getClass()).toInstance(testedProduct.getTester());
26  
27          binder.bind(ProductInstance.class).toInstance(testedProduct.getProductInstance());
28      }
29  }