Package org.jbpm.services.api.query
Class QueryMapperRegistry
- java.lang.Object
-
- org.jbpm.services.api.query.QueryMapperRegistry
-
public class QueryMapperRegistry extends Object
Allow to find mappers by name instead of using their instances Mappers are discovered by ServiceLoader mechanism - meaning must be defined in services file:
META-INF/services/org.jbpm.services.api.query.QueryResultMapper
as fully qualified class names that implementorg.jbpm.services.api.query.QueryResultMapper
-
-
Field Summary
Fields Modifier and Type Field Description static org.slf4j.Logger
logger
-
Constructor Summary
Constructors Modifier Constructor Description protected
QueryMapperRegistry()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMapper(QueryResultMapper<?> mapper)
Adds a new query results mapperList<String>
discoverAndAddMappers(ClassLoader cl)
Discovers and adds allQueryResultMappers
to the known set.static QueryMapperRegistry
get()
Returns instance of the registry that is already populated with known mappers.QueryResultMapper<?>
mapperFor(String name, Map<String,String> columnMapping)
Returns mapper for given name if found.void
removeMapper(String mapperName)
Removes a query results mapper.
-
-
-
Method Detail
-
get
public static QueryMapperRegistry get()
Returns instance of the registry that is already populated with known mappers.- Returns:
-
mapperFor
public QueryResultMapper<?> mapperFor(String name, Map<String,String> columnMapping)
Returns mapper for given name if found.- Parameters:
name
- unique name that mapper is bound tocolumnMapping
- provides column mapping (name to type) that can be shipped to mapper for improved transformation - can be null (accepted types: string, long, integer, date, double)- Returns:
- instance of the
QueryResultMapper
if found - Throws:
IllegalArgumentException
- in case there is no mapper found with given name
-
discoverAndAddMappers
public List<String> discoverAndAddMappers(ClassLoader cl)
Discovers and adds allQueryResultMappers
to the known set.- Parameters:
cl
- class laoder used to discover mappers- Returns:
- returns list of added (not previously existing) mappers
-
addMapper
public void addMapper(QueryResultMapper<?> mapper)
Adds a new query results mapper- Parameters:
mapper
-
-
removeMapper
public void removeMapper(String mapperName)
Removes a query results mapper.- Parameters:
mapperName
-
-
-