public class TutorStrategies extends Manifest
Although TutorStrategies can be used when assessment content contains a
single piece of assistance content, TutorStrategies is intended for associating
multiple Tutoring Strategies (see Description here
)
with a piece of assessment content.
For example: If an AnswerableProblem
has assistance in the form a Hints and Scaffolding,
you would add them individually to a TutorStrategies by calling
addChildManifest(Manifest)
once for each strategy.
If there are multiple Tutoring Strategies of the same type - for example you have alternate hint sets for a single problem - you can add both sets to a single TutorStrategies.
In the case of multiple Tutoring Strategies, by default TutorStrategies randomly selects
one of the strategy types
. When a single strategy type has multiple
alternatives (eg: multiple hint sets), by default TutorStrategies randomly selects
one of the sets.
You can attach TutorStrategies to assessment content by calling
setTutoringKey(tutorStrategiesInstance)
on the Manifest representing that assessment content. For example the Manifest representing
an AnswerableProblem, or perhaps the Manifest representing
an ProblemSet (to make that tutoring the default for the Problem Set).
You can also attach assistance content directly to Answer
s by calling
Answer#setTutoringKey(Manifest)
or Answer#setTutoringKey(String)
.
For an incorrect Answer, assistance content might be in the form of a FeedbackMessage
.
However you are free to attach any kind of assistance content, including a TutorStrategies
instance, to an Answer.
The following diagram provides details the class hierarchy of TutorStrategies:
childManifests, propertyKeysForSimpleClassName
Constructor and Description |
---|
TutorStrategies(java.lang.String uid) |
Modifier and Type | Method and Description |
---|---|
void |
addChildManifest(Manifest child)
Adds a child to this TutorStrategy.
|
TutorStrategyType |
discoverTutorStrategyType(Manifest tutoringSetManifest)
Returns the type of tutoring contained in a Tutoring Set.
|
java.util.List<java.lang.String> |
flatten()
Returns a list of Persistence Keys for all of objects referenced by this manifest.
|
int |
getChildCount()
Returns the number of children manifests
|
java.util.List<Manifest> |
getChildManifests()
Returns the children of this manifest.
|
static java.lang.String |
getClassName() |
Manifest |
getHints() |
Manifest |
getNextPreferredTutoring()
Returns the next available preferred tutoring content.
|
Manifest |
getScaffolding() |
Manifest |
getTutoringOfType(TutorStrategyType type) |
java.util.List<TutorStrategyType> |
getTutoringOrder() |
Manifest |
getURLLinks() |
Manifest |
getWorkedExamples() |
void |
setChildManifests(java.util.List<Manifest> childManifests)
Specifies a list of children manifests for this manifest.
|
void |
setTutoringOrder(java.util.List<TutorStrategyType> types) |
void |
setTutoringOrder(TutorStrategyType... types) |
java.lang.String |
toString()
Returns a string representation of this object.
|
java.lang.String |
toString(java.lang.String indent) |
addProperty, addProperty, addProperty, addProperty, feedBackKeyExists, getAllDescendantProblemManifests, getAllDescendants, getBooleanProperty, getChildManifest, getChildrenContentKeys, getContentAttributes, getContentKey, getContentType, getDescendantManifest, getDescendantProblemCount, getFeedbackKey, getIntProperty, getNavigatorClass, getParent, getProperties, getRoot, getSkillIds, getStringProperty, getTerminatorClass, getTutoringAttributes, getTutoringKey, getTutoringType, hasChildManifestKey, hasChildManifestWithTutoringKey, hasDescendant, hasDescendant, hasDescendantWithTutoringKey, isContentType, isNavigatorType, isProblem, isProblemSet, isScaffolding, isSet, isSkillBuilderProblem, isTerminatorType, isTutoringItem, isTutoringSet, isTutoringType, setContentKey, setContentKey, setFeedbackKey, setParent, setProperties, setTutoringKey, setTutoringKey, toDTO, toStringSummary, toStringSummary, toStringSummary, validate
createKey, createKey, equals, extractType, extractUID, getKey, getShortKey, getShortKey, getType, getUID, getValidatorUtilities, setValidatorUtilities, validateKey
public static java.lang.String getClassName()
public int getChildCount()
IsManifest
getChildCount
in interface IsManifest<Manifest,Manifest>
getChildCount
in class Manifest
public java.util.List<Manifest> getChildManifests()
IsManifest
getChildManifests
in interface IsManifest<Manifest,Manifest>
getChildManifests
in class Manifest
public void setChildManifests(java.util.List<Manifest> childManifests)
IsManifest
The implementing class may choose to manipulate childManifests in such a way that requires the creation of additional persistable data. For example: An IsManifest class might choose to group the children based on the type of skill represented by each referenced assessment content. In that scenario, the setChildManifests() implementation might further choose to create a new manifest for each skill and insert into that new manifest the subset of childManifests containing that skill. In this case, setChildManifests() needs to alert the caller to the presence of generated objects through the return value.
setChildManifests
in interface IsManifest<Manifest,Manifest>
setChildManifests
in class Manifest
childManifests
- A list of child manifestspublic void addChildManifest(Manifest child)
You may add at most one child Manifest of each TutorStrategyType
.
For example: if you have two Manifests representing alternate Hint Sets
you cannot call addChildManifest() twice - once for each Manifest.
Instead, you must do the following to create a new parent Manifest representing a TutoringSet with two TutoringSet children:
TutoringSet
.
Manifest.setContentKey()
with the TutoringSet
as the argument.
Manifest.addChildManifest()
with
the Manifest of alternate Hint Set 1.
Manifest.addChildManifest()
with
the Manifest of alternate Hint Set 2.
The newly created parent Manifest can now be added to this TutorStrategies manifest by calling this method.
addChildManifest
in interface IsManifest<Manifest,Manifest>
addChildManifest
in class Manifest
child
- Child Manifest to add. Expected to be assistance content.IsManifest.setChildManifests(List)
public TutorStrategyType discoverTutorStrategyType(Manifest tutoringSetManifest) throws java.lang.IllegalArgumentException
tutoringSetManifest
- Manifest with a TutoringSet
content type.java.lang.IllegalArgumentException
- If tutoringSetManifest does not represent a
TutoringSetjava.lang.IllegalArgumentException
public Manifest getTutoringOfType(TutorStrategyType type)
public Manifest getHints()
public Manifest getScaffolding()
public Manifest getWorkedExamples()
public Manifest getURLLinks()
public void setTutoringOrder(TutorStrategyType... types)
public void setTutoringOrder(java.util.List<TutorStrategyType> types)
public java.util.List<TutorStrategyType> getTutoringOrder()
public Manifest getNextPreferredTutoring()
setTutoringOrder(TutorStrategyType...)
,
setTutoringOrder(List)
,
getTutoringOrder()
public java.util.List<java.lang.String> flatten()
IsManifest
flatten
in interface IsManifest<Manifest,Manifest>
flatten
in class Manifest
Persistable
,
IsManifest.getContentKey()
,
HasTutoring.getTutoringKey()
,
IsManifest.getChildManifests()
public java.lang.String toString()
Persistable
toString
in interface IsManifest<Manifest,Manifest>
toString
in interface IsPersistable
toString
in class Manifest