68 /** |
68 /** |
69 * Gets the parameterization of the given base type. |
69 * Gets the parameterization of the given base type. |
70 * |
70 * |
71 * <p> |
71 * <p> |
72 * For example, given the following |
72 * For example, given the following |
73 * <pre><xmp> |
73 * <pre>{@code |
74 * interface Foo<T> extends List<List<T>> {} |
74 * interface Foo<T> extends List<List<T>> {} |
75 * interface Bar extends Foo<String> {} |
75 * interface Bar extends Foo<String> {} |
76 * </xmp></pre> |
76 * }</pre> |
77 * This method works like this: |
77 * This method works like this: |
78 * <pre><xmp> |
78 * <pre>{@code |
79 * getBaseClass( Bar, List ) = List<List<String> |
79 * getBaseClass( Bar, List ) = List<List<String>> |
80 * getBaseClass( Bar, Foo ) = Foo<String> |
80 * getBaseClass( Bar, Foo ) = Foo<String> |
81 * getBaseClass( Foo<? extends Number>, Collection ) = Collection<List<? extends Number>> |
81 * getBaseClass( Foo<? extends Number>, Collection ) = Collection<List<? extends Number>> |
82 * getBaseClass( ArrayList<? extends BigInteger>, List ) = List<? extends BigInteger> |
82 * getBaseClass( ArrayList<? extends BigInteger>, List ) = List<? extends BigInteger> |
83 * </xmp></pre> |
83 * }</pre> |
84 * |
84 * |
85 * @param type |
85 * @param type |
86 * The type that derives from {@code baseType} |
86 * The type that derives from {@code baseType} |
87 * @param baseType |
87 * @param baseType |
88 * The class whose parameterization we are interested in. |
88 * The class whose parameterization we are interested in. |