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 public void configure(Binder binder) 19 { 20 binder.bind(TestedProduct.class).toInstance(testedProduct); 21 binder.bind((Class<TestedProduct>)testedProduct.getClass()).toInstance(testedProduct); 22 23 binder.bind(Tester.class).toInstance(testedProduct.getTester()); 24 binder.bind((Class<Tester>)testedProduct.getTester().getClass()).toInstance(testedProduct.getTester()); 25 26 binder.bind(ProductInstance.class).toInstance(testedProduct.getProductInstance()); 27 } 28 }