/* * Copyright 2008 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.inject.client.hierarchical; import com.google.gwt.inject.client.GinModules; import com.google.gwt.inject.client.MyAppGinjector; import com.google.gwt.inject.client.SimpleObject; import com.google.inject.name.Named; /** * An injector interface that is part of an injector heirarchy. */ @GinModules(HierarchicalMyAppGinModule.class) public interface HierarchicalMyAppGinjector extends MyAppGinjector { // Adds an additional method. @Named("purple") SimpleObject getSimplePurple(); // Redefine a method of the super-interface. Unneccessary but legal and the // generator needs to handle this, and not output 2 implementations. SimpleObject getSimple(); // Adds an unnamed SimpleObject. Calls to this should return the same singleton // object as getSimple() calls. SimpleObject getUnnamedSimple(); // Redefines a super-interface method with a different @Named annotation. // Since @Named("red") is bound as a singleton this should return the same // instance as getSimpleRed() from the superinterface. @Named("red") SimpleObject getSimpleBlue(); }