Package com.tngtech.archunit.core.domain
Class JavaGenericArrayType
java.lang.Object
com.tngtech.archunit.core.domain.JavaGenericArrayType
Represents a generic array type used in signatures of parameterized types.
E.g. for
Like its concrete counterpart a
E.g. for
MyClass<A, T extends List<A[]>>
the upper bound List<A[]>
would have one JavaGenericArrayType
A[]
as its type parameter.Like its concrete counterpart a
JavaGenericArrayType
can be queried for its
component type
, which can be a JavaParameterizedType
,
a JavaTypeVariable
or a JavaGenericArrayType
corresponding to a lower dimensional array.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.tngtech.archunit.core.domain.properties.HasName
HasName.AndFullName, HasName.Predicates, HasName.Utils
Nested classes/interfaces inherited from interface com.tngtech.archunit.core.domain.JavaType
JavaType.Functions
-
Method Summary
Modifier and TypeMethodDescriptiongetName()
Converts thisJavaType
into the erased type (compare the Java Language Specification).toString()
-
Method Details
-
getName
- Specified by:
getName
in interfaceHasName
- Returns:
- The name of this
JavaGenericArrayType
, e.g. forA[]
within signatureMyClass<A, T extends List<A[]>>
the name would be "A[]"
-
getComponentType
- Returns:
- The component type of this
JavaGenericArrayType
, e.g. forA[]
within signatureMyClass<A, T extends List<A[]>>
the component type would beA
, while forA[][]
withinMyClass<A, T extends List<A[][]>>
the component type would beA[]
.
-
toErasure
Description copied from interface:JavaType
Converts thisJavaType
into the erased type (compare the Java Language Specification). In particular this will result in- the class itself, if this type is a
JavaClass
- the
JavaClass
equivalent toObject
, if this type is an unboundJavaTypeVariable
- the
JavaClass
equivalent to the erasure of the left most bound, if this type is a boundJavaTypeVariable
- if this type is a
JavaGenericArrayType
, the erasure will be theJavaClass
equivalent to the array type that has the erasure of the generic component type of this type as its component type; e.g. take the generic array typeT[][]
whereT
is unbound, then the erasure will be the array typeObject[][]
- the class itself, if this type is a
-
toString
-