1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Copyright (C) 2012 The Guava Authors 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Licensed under the Apache License, Version 2.0 (the "License"); 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * you may not use this file except in compliance with the License. 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * You may obtain a copy of the License at 7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann * 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * http://www.apache.org/licenses/LICENSE-2.0 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * Unless required by applicable law or agreed to in writing, software 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * distributed under the License is distributed on an "AS IS" BASIS, 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * See the License for the specific language governing permissions and 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * limitations under the License. 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpackage com.google.common.collect.testing; 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 19e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganovimport com.google.common.annotations.GwtCompatible; 20e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov 21e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov/** 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * A generator that relies on a preexisting generator for most of its work. For example, a derived 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * iterator generator may delegate the work of creating the underlying collection to an inner 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * collection generator. 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * <p>{@code GwtTestSuiteGenerator} expects every {@code DerivedIterator} implementation to provide 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * a one-arg constructor accepting its inner generator as an argument). This requirement enables it 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * to generate source code (since GWT cannot use reflection to generate the suites). 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov * @author Chris Povirk 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov */ 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov@GwtCompatible 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganovpublic interface DerivedGenerator { 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov TestSubjectGenerator<?> getInnerGenerator(); 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov} 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov