1*dc5640d1SHerbert Xue /* 2*dc5640d1SHerbert Xue * Copyright (C) 2007 Google Inc. 3*dc5640d1SHerbert Xue * 4*dc5640d1SHerbert Xue * Licensed under the Apache License, Version 2.0 (the "License"); 5*dc5640d1SHerbert Xue * you may not use this file except in compliance with the License. 6*dc5640d1SHerbert Xue * You may obtain a copy of the License at 7*dc5640d1SHerbert Xue * 8*dc5640d1SHerbert Xue * http://www.apache.org/licenses/LICENSE-2.0 9*dc5640d1SHerbert Xue * 10*dc5640d1SHerbert Xue * Unless required by applicable law or agreed to in writing, software 11*dc5640d1SHerbert Xue * distributed under the License is distributed on an "AS IS" BASIS, 12*dc5640d1SHerbert Xue * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*dc5640d1SHerbert Xue * See the License for the specific language governing permissions and 14*dc5640d1SHerbert Xue * limitations under the License. 15*dc5640d1SHerbert Xue */ 16*dc5640d1SHerbert Xue 17*dc5640d1SHerbert Xue package example.xml; 18*dc5640d1SHerbert Xue 19*dc5640d1SHerbert Xue import com.google.inject.AbstractModule; 20*dc5640d1SHerbert Xue import com.google.inject.Guice; 21*dc5640d1SHerbert Xue import com.google.inject.Injector; 22*dc5640d1SHerbert Xue import java.net.URL; 23*dc5640d1SHerbert Xue 24*dc5640d1SHerbert Xue /** */ 25*dc5640d1SHerbert Xue public class Main { 26*dc5640d1SHerbert Xue main(String[] args)27*dc5640d1SHerbert Xue public static void main(String[] args) { 28*dc5640d1SHerbert Xue final URL xmlUrl = Main.class.getResource("phone.xml"); 29*dc5640d1SHerbert Xue 30*dc5640d1SHerbert Xue Injector injector = 31*dc5640d1SHerbert Xue Guice.createInjector( 32*dc5640d1SHerbert Xue new AbstractModule() { 33*dc5640d1SHerbert Xue protected void configure() { 34*dc5640d1SHerbert Xue bind(Contacts.class).to(SimCard.class); 35*dc5640d1SHerbert Xue install(new XmlBeanModule(xmlUrl)); 36*dc5640d1SHerbert Xue } 37*dc5640d1SHerbert Xue }); 38*dc5640d1SHerbert Xue 39*dc5640d1SHerbert Xue Phone phone = injector.getInstance(Phone.class); 40*dc5640d1SHerbert Xue 41*dc5640d1SHerbert Xue if (phone.getContacts() == null) { 42*dc5640d1SHerbert Xue throw new AssertionError(); 43*dc5640d1SHerbert Xue } else { 44*dc5640d1SHerbert Xue System.out.println("It worked!"); 45*dc5640d1SHerbert Xue } 46*dc5640d1SHerbert Xue } 47*dc5640d1SHerbert Xue } 48