Class ItemPathResolutionState
- java.lang.Object
-
- com.evolveum.midpoint.repo.sql.query.resolution.ItemPathResolutionState
-
- All Implemented Interfaces:
DebugDumpable
public class ItemPathResolutionState extends Object implements DebugDumpable
Describes current state in ItemPath resolution.We know what remains to be resolved. We know the HQL item we are pointing to. We know last transition - how we got here.
This object is unmodifiable.
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
debugDump(int indent)
String
debugDump(int indent, boolean showParent)
boolean
isFinal()
ItemPathResolutionState
nextState(ItemDefinition itemDefinition, boolean reuseMultivaluedJoins, PrismContext prismContext)
Executes transition to next state.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
-
-
-
-
Method Detail
-
isFinal
public boolean isFinal()
-
nextState
public ItemPathResolutionState nextState(ItemDefinition itemDefinition, boolean reuseMultivaluedJoins, PrismContext prismContext) throws QueryException
Executes transition to next state. Modifies query context by adding joins as necessary.Precondition: !isFinal() Precondition: adequate transition exists
- Parameters:
itemDefinition
- Target item definition (used/required only for "any" properties)reuseMultivaluedJoins
- Creation of new joins for multivalued properties is forbidden. This is needed e.g. for order-by clauses.- Returns:
- destination state - always not null
- Throws:
QueryException
-
debugDump
public String debugDump(int indent)
- Specified by:
debugDump
in interfaceDebugDumpable
-
debugDump
public String debugDump(int indent, boolean showParent)
-
-