public class WildcardTypeImpl
extends java.lang.Object
implements java.lang.reflect.WildcardType
Note: api supports multiple bounds but actually only one bound could be set (not one upper, one lower, but only one upper or only one lower!).
Object is also used to hold multiple bounds of TypeVariable.
For example, MyClass<T extends Number & Comparable> will be repackaged as wildcard with multiple
bonds <? extends Number & Comparable> (note that this is impossible declaration in real java code).
This should not cause any harm as, I'm sure, all reflection logic always takes first parameter and will not break.
| Constructor and Description |
|---|
WildcardTypeImpl(java.lang.reflect.Type[] upperBounds,
java.lang.reflect.Type[] lowerBounds) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object o) |
java.lang.reflect.Type[] |
getLowerBounds()
?
|
java.lang.reflect.Type[] |
getUpperBounds()
?
|
int |
hashCode() |
static WildcardTypeImpl |
lower(java.lang.reflect.Type lower)
?
|
java.lang.String |
toString() |
static WildcardTypeImpl |
upper(java.lang.reflect.Type... upper)
?
|
public WildcardTypeImpl(java.lang.reflect.Type[] upperBounds,
java.lang.reflect.Type[] lowerBounds)
public java.lang.reflect.Type[] getLowerBounds()
getLowerBounds in interface java.lang.reflect.WildcardTypepublic java.lang.reflect.Type[] getUpperBounds()
Base<T extends One & Two> will be saved as impossible wildcard <? extends One & Two>getUpperBounds in interface java.lang.reflect.WildcardTypepublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic static WildcardTypeImpl upper(java.lang.reflect.Type... upper)
upper - upper boundspublic static WildcardTypeImpl lower(java.lang.reflect.Type lower)
lower - lower bound