Package org.jboss.jandex
Class WildcardType
java.lang.Object
org.jboss.jandex.Type
org.jboss.jandex.WildcardType
- All Implemented Interfaces:
Descriptor
Represents a generic wildcard. A generic wildcard can have either an upper (extends)
or a lower (super) bound. A wildcard declared without a bound ("?") has a default extends bound
of "java.lang.Object".
- Author:
- Jason T. Greene
- Since:
- 2.0
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final WildcardTypeA wildcard without a bound, an equivalent of?.Fields inherited from class org.jboss.jandex.Type
EMPTY_ARRAYFields inherited from interface org.jboss.jandex.Descriptor
NO_SUBSTITUTION -
Method Summary
Modifier and TypeMethodDescriptionCasts this type to aWildcardTypeand returns it if the kind isType.Kind.WILDCARD_TYPE.static WildcardType.Builderbuilder()Create a builder of a wildcard type.static WildcardTypeDeprecated.static WildcardTypecreateLowerBound(Class<?> lowerBound) Create a new wildcard type with a lower bound.static WildcardTypecreateLowerBound(Type lowerBound) Create a new wildcard type with a lower bound.static WildcardTypecreateUpperBound(Class<?> upperBound) Create a new wildcard type with an upper bound.static WildcardTypecreateUpperBound(Type upperBound) Create a new wildcard type with an upper bound.booleanCompares thisTypewith another type.Returns the upper bound of this wildcard (e.g.inthashCode()Computes a hash code representing this type.kind()Returns the kind of Type this is.name()Returns the name of this type (or its erasure in case of generic types) as aDotName, using theClass.getName()format.Returns the lower bound of this wildcard (e.g.Methods inherited from class org.jboss.jandex.Type
annotation, annotations, annotationsWithRepeatable, asArrayType, asClassType, asParameterizedType, asPrimitiveType, asTypeVariable, asTypeVariableReference, asUnresolvedTypeVariable, asVoidType, create, create, createWithAnnotations, descriptor, hasAnnotation, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jboss.jandex.Descriptor
descriptor
-
Field Details
-
UNBOUNDED
A wildcard without a bound, an equivalent of?.- Since:
- 3.1.0
-
-
Method Details
-
create
Deprecated.usecreateUpperBound(Type)orcreateLowerBound(Type)insteadCreates a new wildcard type.- Parameters:
bound- the bound (lower or upper)isExtends- true if the bound is an upper (extends) bound, false if lower (super)- Returns:
- the new instance
- Since:
- 2.1
-
createUpperBound
Create a new wildcard type with an upper bound.- Parameters:
upperBound- the upper bound- Returns:
- the new instance
- Since:
- 3.1.0
-
createUpperBound
Create a new wildcard type with an upper bound.- Parameters:
upperBound- the upper bound- Returns:
- the new instance
- Since:
- 3.1.0
-
createLowerBound
Create a new wildcard type with a lower bound.- Parameters:
lowerBound- the lower bound- Returns:
- the new instance
- Since:
- 3.1.0
-
createLowerBound
Create a new wildcard type with a lower bound.- Parameters:
lowerBound- the lower bound- Returns:
- the new instance
- Since:
- 3.1.0
-
builder
Create a builder of a wildcard type.- Returns:
- the builder
- Since:
- 3.1.0
-
name
Description copied from class:TypeReturns the name of this type (or its erasure in case of generic types) as aDotName, using theClass.getName()format. Specifically:- for primitive types and the void pseudo-type, the corresponding Java keyword
is returned (
void,boolean,byte,short,int,long,float,double,char); - for class types, the binary name of the class is returned;
- for array types, a string is returned that consists of one or more
[characters corresponding to the number of dimensions of the array type, followed by the element type as a single-character code for primitive types orLbinary.name.of.TheClass;for class types (for example,[Iforint[]or[[Ljava.lang.String;forString[][]); - for parameterized types, the binary name of the generic class is returned
(for example,
java.util.ListforList<String>); - for type variables, the name of the first bound of the type variable is returned,
or
java.lang.Objectfor type variables that have no bound; - for wildcard types, the name of the upper bound is returned,
or
java.lang.Objectif the wildcard type does not have an upper bound (for example,java.lang.Numberfor? extends Number).
- for primitive types and the void pseudo-type, the corresponding Java keyword
is returned (
-
extendsBound
Returns the upper bound of this wildcard (e.g.SomeTypefor? extends SomeType).Returns
java.lang.Objectif this wildcard declares a lower bound (? super SomeType).- Returns:
- the upper bound, or
Objectif this wildcard has a lower bound
-
superBound
Returns the lower bound of this wildcard (e.g.SomeTypefor? super SomeType).Returns
nullif this wildcard declares an upper bound (? extends SomeType).- Returns:
- the lower bound, or
nullif this wildcard has an uper bound
-
kind
Description copied from class:TypeReturns the kind of Type this is. -
asWildcardType
Description copied from class:TypeCasts this type to aWildcardTypeand returns it if the kind isType.Kind.WILDCARD_TYPE. Throws an exception otherwise.- Overrides:
asWildcardTypein classType- Returns:
- a
WildcardType
-
equals
Description copied from class:TypeCompares thisTypewith another type. A type is equal to another type if it is of the same kind, and all of their fields are equal. This includes annotations, which must be equal as well. -
hashCode
public int hashCode()Description copied from class:TypeComputes a hash code representing this type.
-
createUpperBound(Type)orcreateLowerBound(Type)instead