01: /*
02: * The contents of this file are subject to the terms
03: * of the Common Development and Distribution License
04: * (the "License"). You may not use this file except
05: * in compliance with the License.
06: *
07: * You can obtain a copy of the license at
08: * https://jwsdp.dev.java.net/CDDLv1.0.html
09: * See the License for the specific language governing
10: * permissions and limitations under the License.
11: *
12: * When distributing Covered Code, include this CDDL
13: * HEADER in each file and include the License file at
14: * https://jwsdp.dev.java.net/CDDLv1.0.html If applicable,
15: * add the following below this CDDL HEADER, with the
16: * fields enclosed by brackets "[]" replaced with your
17: * own identifying information: Portions Copyright [yyyy]
18: * [name of copyright owner]
19: */
20: package com.sun.codemodel;
21:
22: /**
23: * Declarations that can have type variables.
24: *
25: * Something that can be made into a generic.
26: *
27: * @author
28: * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
29: */
30: public interface JGenerifiable {
31: /**
32: * Adds a new type variable to this declaration.
33: */
34: JTypeVar generify(String name);
35:
36: /**
37: * Adds a new type variable to this declaration with a bound.
38: */
39: JTypeVar generify(String name, Class bound);
40:
41: /**
42: * Adds a new type variable to this declaration with a bound.
43: */
44: JTypeVar generify(String name, JClass bound);
45:
46: /**
47: * Iterates all the type parameters of this class/interface.
48: */
49: JTypeVar[] typeParams();
50: }
|