public class ItemPathResolver extends Object
Constructor and Description |
---|
ItemPathResolver(InterpretationContext interpretationContext) |
Modifier and Type | Method and Description |
---|---|
<T extends JpaDataNodeDefinition> |
findProperDataDefinition(JpaEntityDefinition baseEntityDefinition,
ItemPath path,
ItemDefinition itemDefinition,
Class<T> clazz)
Finds the proper definition for (possibly abstract) entity.
|
JpaEntityDefinition |
findRestrictedEntityDefinition(JpaEntityDefinition baseEntityDefinition,
QName specificTypeName)
Given existing entity definition and a request for narrowing it, tries to find refined definition.
|
HqlDataInstance |
resolveItemPath(ItemPath relativePath,
ItemDefinition itemDefinition,
HqlDataInstance baseDataInstance,
boolean singletonOnly) |
HqlDataInstance |
resolveItemPath(ItemPath relativePath,
ItemDefinition itemDefinition,
String currentHqlPath,
JpaEntityDefinition baseEntityDefinition,
boolean singletonOnly)
Resolves item path by creating a sequence of resolution states and preparing joins that are used to access JPA properties.
|
public ItemPathResolver(InterpretationContext interpretationContext)
public HqlDataInstance resolveItemPath(ItemPath relativePath, ItemDefinition itemDefinition, String currentHqlPath, JpaEntityDefinition baseEntityDefinition, boolean singletonOnly) throws QueryException
itemDefinition
- Definition for the (final) item pointed to. Optional - necessary only for extension items.singletonOnly
- Means no collections are allowed (used for right-side path resolution and order criteria).QueryException
public HqlDataInstance resolveItemPath(ItemPath relativePath, ItemDefinition itemDefinition, HqlDataInstance baseDataInstance, boolean singletonOnly) throws QueryException
QueryException
public <T extends JpaDataNodeDefinition> ProperDataSearchResult<T> findProperDataDefinition(JpaEntityDefinition baseEntityDefinition, ItemPath path, ItemDefinition itemDefinition, Class<T> clazz) throws QueryException
path
- Path to be found (non-empty!)itemDefinition
- Definition of target property, required/used only for "any" propertiesclazz
- Kind of definition to be looked forQueryException
public JpaEntityDefinition findRestrictedEntityDefinition(JpaEntityDefinition baseEntityDefinition, QName specificTypeName) throws QueryException
QueryException
Copyright © 2016 evolveum. All rights reserved.