ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ILIAS\LearningSequence\Player\LSNavigator Interface Reference

Abstraction of the navigation between the objects of a learning sequence. More...

+ Inheritance diagram for ILIAS\LearningSequence\Player\LSNavigator:
+ Collaboration diagram for ILIAS\LearningSequence\Player\LSNavigator:

Public Member Functions

 getSuccessors (array $items, \LSLearnerItem $current)
 
 getStructuralSuccessors (array $items, \LSItem $current)
 All objects that are connected to $current by an outgoing edge, regardless of whether they may currently be entered. More...
 
 getPredecessors (array $items, \LSLearnerItem $current)
 
 canLeave (\LSLearnerItem $current)
 Whether the current object may be left (output-condition). More...
 
 canEnter (\LSLearnerItem $target)
 Whether the target object may be entered (input-condition). More...
 
 canEnterIgnoringEdges (\LSLearnerItem $target)
 Whether the target object may be entered, ignoring the input-conditions that merely encode the graph edges (they describe alternative paths and must not be AND-combined). More...
 
 canEnterFrom (\LSLearnerItem $current, \LSLearnerItem $target)
 Whether the target object may be entered coming from $current, i.e. More...
 
 preload (array $items)
 Loads everything the navigator needs for the given items up front, so walking the graph does not hit the database once per item. More...
 
 getInputConditionIds (\LSLearnerItem $item)
 The ids of all conditions that must be met to enter the given object. More...
 
 getOutputConditionIds (\LSLearnerItem $item)
 The ids of all conditions that must be met to leave the given object. More...
 

Detailed Description

Abstraction of the navigation between the objects of a learning sequence.

The linear (index based) and the adaptive (condition based) navigation both implement this interface so that the player itself does not need to know the concrete strategy.

Definition at line 30 of file LSNavigator.php.

Member Function Documentation

◆ canEnter()

ILIAS\LearningSequence\Player\LSNavigator::canEnter ( \LSLearnerItem  $target)

Whether the target object may be entered (input-condition).

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ canEnterFrom()

ILIAS\LearningSequence\Player\LSNavigator::canEnterFrom ( \LSLearnerItem  $current,
\LSLearnerItem  $target 
)

Whether the target object may be entered coming from $current, i.e.

only the condition of the edge actually used is evaluated. Several incoming edges are alternative paths and must not be AND-combined.

Implemented in ILIAS\LearningSequence\LearningMap\LSOLearningMapSequentialNavigator, ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ canEnterIgnoringEdges()

ILIAS\LearningSequence\Player\LSNavigator::canEnterIgnoringEdges ( \LSLearnerItem  $target)

Whether the target object may be entered, ignoring the input-conditions that merely encode the graph edges (they describe alternative paths and must not be AND-combined).

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ canLeave()

ILIAS\LearningSequence\Player\LSNavigator::canLeave ( \LSLearnerItem  $current)

◆ getInputConditionIds()

ILIAS\LearningSequence\Player\LSNavigator::getInputConditionIds ( \LSLearnerItem  $item)

The ids of all conditions that must be met to enter the given object.

Used by the map data layer; empty for navigators without conditions.

Returns
int[]

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ getOutputConditionIds()

ILIAS\LearningSequence\Player\LSNavigator::getOutputConditionIds ( \LSLearnerItem  $item)

The ids of all conditions that must be met to leave the given object.

Used by the map data layer; empty for navigators without conditions.

Returns
int[]

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ getPredecessors()

ILIAS\LearningSequence\Player\LSNavigator::getPredecessors ( array  $items,
\LSLearnerItem  $current 
)
Parameters
\LSLearnerItem[]$items
Returns
\LSLearnerItem[] the objects one came from before $current

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ getStructuralSuccessors()

ILIAS\LearningSequence\Player\LSNavigator::getStructuralSuccessors ( array  $items,
\LSItem  $current 
)

All objects that are connected to $current by an outgoing edge, regardless of whether they may currently be entered.

Needed by views (e.g. the map) that have to show blocked objects as well.

Parameters
\LSItem[]$items
Returns
\LSItem[]

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ getSuccessors()

ILIAS\LearningSequence\Player\LSNavigator::getSuccessors ( array  $items,
\LSLearnerItem  $current 
)
Parameters
\LSLearnerItem[]$items
Returns
\LSLearnerItem[] the objects one may continue with from $current

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.

◆ preload()

ILIAS\LearningSequence\Player\LSNavigator::preload ( array  $items)

Loads everything the navigator needs for the given items up front, so walking the graph does not hit the database once per item.

Navigators without any state to load may implement this as a no-op.

Parameters
\LSItem[]$items

Implemented in ILIAS\LearningSequence\Player\AdaptiveNavigator, and ILIAS\LearningSequence\Player\LinearNavigator.


The documentation for this interface was generated from the following file: