Class DefaultItemSqlMapper<S,Q extends FlexibleRelationalPathBase<R>,R>

java.lang.Object
com.evolveum.midpoint.repo.sqlbase.mapping.DefaultItemSqlMapper<S,Q,R>
Type Parameters:
S - schema type owning the mapped item
Q - entity path owning the mapped item
R - row type with the mapped item
All Implemented Interfaces:
ItemSqlMapper<Q,R>
Direct Known Subclasses:
SqaleItemSqlMapper

public class DefaultItemSqlMapper<S,Q extends FlexibleRelationalPathBase<R>,R> extends Object implements ItemSqlMapper<Q,R>
Declarative information how an item (from schema/prism world) is to be processed when interpreting query. As this is declarative it does not point to any Q-class attributes - instead it knows how to get to the attributes when the Q-class instance (entity path) is provided; this is provided as a function (or functions for multiple paths), typically as lambdas. Based on this information the mapper can later create FilterProcessor when needed, again providing the right type of FilterProcessor, based on the type of the item and/or how the item is mapped to the database.