1/* 2 * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24package pkg; 25 26import java.util.*; 27 28/** 29 * Just a sample class with type parameters. This is a link to myself: 30 * {@link TypeParameters} 31 * 32 * @param <E> the type parameter for this class. 33 * @paramthis should cause a warning. 34 * @see TypeParameters 35 */ 36 37public class TypeParameters<E> implements SubInterface<E> { 38 39 /** 40 * This method uses the type parameter of this class. 41 * @param param an object that is of type E. 42 * @return the parameter itself. 43 */ 44 public E methodThatUsesTypeParameter(E param) { 45 return param; 46 } 47 48 /** 49 * This method has type parameters. The list of type parameters is long 50 * so there should be a line break in the member summary table. 51 * 52 * @param <T> This is the first type parameter. 53 * @param <V> This is the second type parameter. 54 * @param this should cause a warning. 55 * @param param1 just a parameter. 56 * @param param2 just another parameter. 57 * 58 */ 59 public <T extends List, V> String[] methodThatHasTypeParameters(T param1, 60 V param2) { return null;} 61 62 /** 63 * This method has type parameters. The list of type parameters is short 64 * so there should not be a line break in the member summary table. 65 * @author Owner 66 * 67 * @param <A> This is the first type parameter. 68 */ 69 public <A> void methodThatHasTypeParmaters(A... a) {} 70} 71