Class EnhancedType<T>
Class
, this represents a specific raw class type. Unlike Class
, this allows representing type
parameters that would usually be erased.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> EnhancedType
<Collection<T>> collectionOf
(Class<T> valueType) Create a type token for a collection, with the provided value type class.static <T> EnhancedType
<Collection<T>> collectionOf
(EnhancedType<T> valueType) Create a type token for a collection, with the provided value type token.static <T,
U> EnhancedType <ConcurrentMap<T, U>> concurrentMapOf
(Class<T> keyType, Class<U> valueType) Create a type token for a concurrent map, with the provided key and value type classes.static <T,
U> EnhancedType <ConcurrentMap<T, U>> concurrentMapOf
(EnhancedType<T> keyType, EnhancedType<U> valueType) Create a type token for a concurrent map, with the provided key and value type classes.static <T> EnhancedType
<Deque<T>> Create a type token for a deque, with the provided value type class.static <T> EnhancedType
<Deque<T>> dequeOf
(EnhancedType<T> valueType) Create a type token for a deque, with the provided value type token.Retrieve the optionalEnhancedTypeDocumentConfiguration
for this EnhancedTypestatic <T> EnhancedType
<T> documentOf
(Class<T> documentClass, TableSchema<T> documentTableSchema) Create a type token that represents a document that is specified by the providedTableSchema
.static <T> EnhancedType
<T> documentOf
(Class<T> documentClass, TableSchema<T> documentTableSchema, Consumer<EnhancedTypeDocumentConfiguration.Builder> enhancedTypeConfiguration) Create a type token that represents a document that is specified by the providedTableSchema
.boolean
int
hashCode()
boolean
Returns whether or not the type thisEnhancedType
was created with is a wildcard type.static <T> EnhancedType
<List<T>> Create a type token for a list, with the provided value type class.static <T> EnhancedType
<List<T>> listOf
(EnhancedType<T> valueType) Create a type token for a list, with the provided value type class.static <T,
U> EnhancedType <Map<T, U>> Create a type token for a map, with the provided key and value type classes.static <T,
U> EnhancedType <Map<T, U>> mapOf
(EnhancedType<T> keyType, EnhancedType<U> valueType) Create a type token for a map, with the provided key and value type classes.static <T,
U> EnhancedType <NavigableMap<T, U>> navigableMapOf
(Class<T> keyType, Class<U> valueType) Create a type token for a navigable map, with the provided key and value type classes.static <T,
U> EnhancedType <NavigableMap<T, U>> navigableMapOf
(EnhancedType<T> keyType, EnhancedType<U> valueType) Create a type token for a navigable map, with the provided key and value type classes.static <T> EnhancedType
<NavigableSet<T>> navigableSetOf
(Class<T> valueType) Create a type token for a navigable set, with the provided value type class.static <T> EnhancedType
<NavigableSet<T>> navigableSetOf
(EnhancedType<T> valueType) Create a type token for a navigable set, with the provided value type token.static <T> EnhancedType
<T> Create a type token for the provided non-parameterized class.static EnhancedType
<?> Create a type token for the provided non-parameterized class.static <T> EnhancedType
<Optional<T>> optionalOf
(Class<T> valueType) Create a type token for a optional, with the provided value type class.rawClass()
Retrieve theClass
object that this type token represents.List
<EnhancedType<?>> Retrieve theClass
objects of any type parameters for the class that this type token represents.static <T> EnhancedType
<Set<T>> Create a type token for a set, with the provided value type class.static <T> EnhancedType
<Set<T>> setOf
(EnhancedType<T> valueType) Create a type token for a set, with the provided value type class.static <T,
U> EnhancedType <SortedMap<T, U>> sortedMapOf
(Class<T> keyType, Class<U> valueType) Create a type token for a sorted map, with the provided key and value type classes.static <T,
U> EnhancedType <SortedMap<T, U>> sortedMapOf
(EnhancedType<T> keyType, EnhancedType<U> valueType) Create a type token for a sorted map, with the provided key and value type classes.static <T> EnhancedType
<SortedSet<T>> sortedSetOf
(Class<T> valueType) Create a type token for a sorted set, with the provided value type class.static <T> EnhancedType
<SortedSet<T>> sortedSetOf
(EnhancedType<T> valueType) Create a type token for a sorted set, with the provided value type class.Retrieve theTableSchema
for a modeled document.toString()
-
Method Details
-
of
Create a type token for the provided non-parameterized class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
of
Create a type token for the provided non-parameterized class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
optionalOf
Create a type token for a optional, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
listOf
Create a type token for a list, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
listOf
Create a type token for a list, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
setOf
Create a type token for a set, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
setOf
Create a type token for a set, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
sortedSetOf
Create a type token for a sorted set, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
sortedSetOf
Create a type token for a sorted set, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
dequeOf
Create a type token for a deque, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
dequeOf
Create a type token for a deque, with the provided value type token.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
collectionOf
Create a type token for a collection, with the provided value type class.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
collectionOf
Create a type token for a collection, with the provided value type token.Reasons this call may fail with a
RuntimeException
:- If the provided type is null.
-
mapOf
Create a type token for a map, with the provided key and value type classes.Reasons this call may fail with a
RuntimeException
:- If the provided types are null.
-
mapOf
public static <T,U> EnhancedType<Map<T,U>> mapOf(EnhancedType<T> keyType, EnhancedType<U> valueType) Create a type token for a map, with the provided key and value type classes.Reasons this call may fail with a
RuntimeException
:- If the provided types are null.
-
sortedMapOf
Create a type token for a sorted map, with the provided key and value type classes.Reasons this call may fail with a
RuntimeException
:- If the provided types are null.
-
sortedMapOf
public static <T,U> EnhancedType<SortedMap<T,U>> sortedMapOf(EnhancedType<T> keyType, EnhancedType<U> valueType) Create a type token for a sorted map, with the provided key and value type classes.Reasons this call may fail with a
RuntimeException
:- If the provided types are null.
-
concurrentMapOf
public static <T,U> EnhancedType<ConcurrentMap<T,U>> concurrentMapOf(Class<T> keyType, Class<U> valueType) Create a type token for a concurrent map, with the provided key and value type classes.Reasons this call may fail with a
RuntimeException
:- If the provided types are null.
-
concurrentMapOf
public static <T,U> EnhancedType<ConcurrentMap<T,U>> concurrentMapOf(EnhancedType<T> keyType, EnhancedType<U> valueType) Create a type token for a concurrent map, with the provided key and value type classes.Reasons this call may fail with a
RuntimeException
:- If the provided types are null.
-
documentOf
public static <T> EnhancedType<T> documentOf(Class<T> documentClass, TableSchema<T> documentTableSchema) Create a type token that represents a document that is specified by the providedTableSchema
.- Parameters:
documentClass
- The Class representing the modeled document.documentTableSchema
- A TableSchema that describes the properties of the document.- Returns:
- a new
EnhancedType
representing the provided document.
-
documentOf
public static <T> EnhancedType<T> documentOf(Class<T> documentClass, TableSchema<T> documentTableSchema, Consumer<EnhancedTypeDocumentConfiguration.Builder> enhancedTypeConfiguration) Create a type token that represents a document that is specified by the providedTableSchema
.- Parameters:
documentClass
- The Class representing the modeled document.documentTableSchema
- A TableSchema that describes the properties of the document.enhancedTypeConfiguration
- the configuration for this enhanced type- Returns:
- a new
EnhancedType
representing the provided document.
-
isWildcard
public boolean isWildcard()Returns whether or not the type thisEnhancedType
was created with is a wildcard type. -
rawClass
Retrieve theClass
object that this type token represents. e.g. ForEnhancedType<String>
, this would returnString.class
. -
tableSchema
Retrieve theTableSchema
for a modeled document. This is used for converting nested documents within a schema. -
rawClassParameters
Retrieve theClass
objects of any type parameters for the class that this type token represents.e.g. For
EnhancedType<List<String>>
, this would returnString.class
, andrawClass()
would returnList.class
.If there are no type parameters, this will return an empty list.
-
documentConfiguration
Retrieve the optionalEnhancedTypeDocumentConfiguration
for this EnhancedType -
equals
-
hashCode
public int hashCode() -
toString
-