Interface PojoTypeModel<T>
-
- Type Parameters:
T
- The pojo type
- All Known Subinterfaces:
PojoGenericTypeModel<T>
,PojoRawTypeModel<T>
- All Known Implementing Classes:
AbstractPojoGenericTypeModel
,AbstractPojoHCAnnRawTypeModel
,AbstractPojoRawTypeModel
,GenericContextAwarePojoGenericTypeModel
,SyntheticPojoGenericTypeModel
public interface PojoTypeModel<T>
A model representing a POJO type: its structure (properties and their type), its name, ...Most of the time, type models represent a Java class, either
raw
orparameterized
. However, it is also possible that a given type model represents a subset of all instances of a given Java class, which all follow a common convention regarding their structure.For example, a type model could represent a Map-based type where properties are defined by the map entries and where all instances are required to have a value of type
Integer
for the key"age"
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <U> Optional<PojoTypeModel<? extends U>>
castTo(Class<U> target)
String
name()
PojoPropertyModel<?>
property(String propertyName)
PojoRawTypeModel<? super T>
rawType()
-
-
-
Method Detail
-
name
String name()
- Returns:
- A human-readable name for this type.
-
rawType
PojoRawTypeModel<? super T> rawType()
- Returns:
- A representation of the closest parent Java
Class
for this type.
-
property
PojoPropertyModel<?> property(String propertyName)
-
castTo
<U> Optional<PojoTypeModel<? extends U>> castTo(Class<U> target)
- Type Parameters:
U
- The type to cast to.- Parameters:
target
- The type to cast to.- Returns:
- A new type model, representing the current type cast to the given type,
or
Optional.empty()
if casting is not supported. The type model will retain as much contextual type information as possible (type arguments, ...), so castingList<Integer>
toCollection
for example would returnCollection<Integer>
.
-
-