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
24 package pkg;
25
26 import 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 * @param <BadClassTypeParam> this should cause a warning.
34 * @see TypeParameters
35 */
36
37 public 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 }
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 <BadMethodTypeParam> 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 }
|
1 /*
2 * Copyright (c) 2003, 2016, 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
24 package pkg;
25
26 import java.util.*;
27 import java.util.function.Supplier;
28
29 /**
30 * Just a sample class with type parameters. This is a link to myself:
31 * {@link TypeParameters}
32 *
33 * @param <E> the type parameter for this class.
34 * @param <BadClassTypeParam> this should cause a warning.
35 * @see TypeParameters
36 */
37
38 public class TypeParameters<E> implements SubInterface<E> {
39
40 /**
41 * This method uses the type parameter of this class.
42 * @param param an object that is of type E.
43 * @return the parameter itself.
44 */
45 public E methodThatUsesTypeParameter(E param) {
46 return param;
47 }
51 * so there should be a line break in the member summary table.
52 *
53 * @param <T> This is the first type parameter.
54 * @param <V> This is the second type parameter.
55 * @param <BadMethodTypeParam> this should cause a warning.
56 * @param param1 just a parameter.
57 * @param param2 just another parameter.
58 *
59 */
60 public <T extends List, V> String[] methodThatHasTypeParameters(T param1,
61 V param2) { return null;}
62
63 /**
64 * This method has type parameters. The list of type parameters is short
65 * so there should not be a line break in the member summary table.
66 * @author Owner
67 *
68 * @param <A> This is the first type parameter.
69 */
70 public <A> void methodThatHasTypeParmaters(A... a) {}
71
72 /**
73 * This method returns a TypeParameter array and takes in a TypeParameter array
74 * @param e an array of TypeParameters
75 * @return an array of TypeParameters
76 */
77 public E[] methodThatReturnsTypeParameterA(E[] e) { return null;}
78
79 /**
80 * Returns TypeParameters
81 * @param <T> a typeParameters
82 * @param coll a collection
83 * @return typeParameters
84 */
85 public <T extends Object & Comparable<? super T>> T
86 methodtThatReturnsTypeParametersB(Collection<? extends T> coll) {
87 return null;
88 }
89
90 /**
91 * Return the contained value, if present, otherwise throw an exception
92 * to be created by the provided supplier.
93 *
94 * @param <X> Type of the exception to be thrown
95 * @param exceptionSupplier The supplier which will return the exception to
96 * be thrown
97 * @return the present value
98 * @throws X if there is no value present
99 * @throws NullPointerException if no value is present and
100 * {@code exceptionSupplier} is null
101 */
102 public <X extends Throwable> E orElseThrow(Supplier<? extends X> exceptionSupplier) throws X {
103 return null;
104 }}
|