Class 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.

    • 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,
                                boolean showParent)