1aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins/**
2b71955639ab617e0a4115b1439c8b9982227a018sberlin * Copyright (C) 2011 Google Inc.
3aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins *
4aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * Licensed under the Apache License, Version 2.0 (the "License");
5aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * you may not use this file except in compliance with the License.
6aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * You may obtain a copy of the License at
7aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins *
8aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * http://www.apache.org/licenses/LICENSE-2.0
9aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins *
10aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * Unless required by applicable law or agreed to in writing, software
11aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * distributed under the License is distributed on an "AS IS" BASIS,
12aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * See the License for the specific language governing permissions and
14aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins * limitations under the License.
15aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins */
16aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins
17b71955639ab617e0a4115b1439c8b9982227a018sberlinpackage com.google.inject.grapher.demo;
18b71955639ab617e0a4115b1439c8b9982227a018sberlin
19b71955639ab617e0a4115b1439c8b9982227a018sberlinimport com.google.inject.PrivateModule;
20aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins
21aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins/**
22b71955639ab617e0a4115b1439c8b9982227a018sberlin * Module to test private modules and exposed bindings.
23b71955639ab617e0a4115b1439c8b9982227a018sberlin *
24b71955639ab617e0a4115b1439c8b9982227a018sberlin * @author bojand@google.com (Bojan Djordjevic)
25aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins */
26b71955639ab617e0a4115b1439c8b9982227a018sberlinpublic class PrivateTestModule extends PrivateModule {
27b71955639ab617e0a4115b1439c8b9982227a018sberlin  interface Exposed {}
28b71955639ab617e0a4115b1439c8b9982227a018sberlin  static class Hidden implements Exposed {}
29b71955639ab617e0a4115b1439c8b9982227a018sberlin
30b71955639ab617e0a4115b1439c8b9982227a018sberlin  @Override protected void configure() {
31b71955639ab617e0a4115b1439c8b9982227a018sberlin    bind(Exposed.class).to(Hidden.class);
32b71955639ab617e0a4115b1439c8b9982227a018sberlin    expose(Exposed.class);
33b71955639ab617e0a4115b1439c8b9982227a018sberlin  }
34aff72e051a38af75e8a6bce59d1a9a4b760d914bphopkins}
35