xref: /aosp_15_r20/external/guice/examples/src/example/xml/Main.java (revision dc5640d1ceac12a29404866b9a53df952a7a6c47)
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