Class Scorm2004Metadata
- All Implemented Interfaces:
PackageManifest,Serializable
This class extends the base BaseModuleMetadata class to provide metadata that describes
the structure and rules that are specific to SCORM 2004 modules.
- See Also:
-
Field Summary
Fields inherited from class dev.jcputney.elearning.parser.output.metadata.BaseModuleMetadata
DESCRIPTION, DURATION, IDENTIFIER, LAUNCH_URL, MODULE_TYPE, TITLE, VERSION, XAPI_ENABLEDFields inherited from class dev.jcputney.elearning.parser.output.ModuleMetadata
manifest, moduleEditionType, moduleType, sizeOnDisk, xapiEnabled -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructs an instance of the Scorm2004Metadata class. -
Method Summary
Modifier and TypeMethodDescriptionstatic Scorm2004Metadatacreate(Scorm2004Manifest manifest, boolean xapiEnabled) Creates a new Scorm2004Metadata instance with standard SCORM 2004 metadata components.booleanRetrieves the set of activities that override the default delivery control settings.Retrieves an unmodifiable map containing the delivery controls for activities.Retrieves the completion thresholds associated with the SCORM 2004 metadata.Retrieves the control modes associated with the SCORM 2004 metadata.Retrieves SCORM-based metadata in the form of data from LMS (Learning Management System).Retrieves the set of delivery control overrides.Retrieves the set of global objective IDs from the manifest.Retrieves a mapping of LMS (Learning Management System) UI elements that are hidden.Retrieves the filename of the manifest file for this module.Retrieves a list of sequencing indicators associated with the SCORM 2004 metadata.Retrieves the current sequencing level.Retrieves the time limit actions associated with the SCORM 2004 metadata.inthashCode()booleanDetermines whether this module contains multiple launchable units.static booleanhasSequencing(Scorm2004Manifest manifest) Determines if a SCORM 2004 manifest has sequencing information.booleanChecks if sequencing is enabled.booleanoverridesDeliveryControlDefaults(String activityId) Determines if the delivery control defaults are overridden for a given activity.Methods inherited from class dev.jcputney.elearning.parser.output.ModuleMetadata
getDescription, getDuration, getIdentifier, getLaunchUrl, getManifest, getModuleEditionType, getModuleType, getSizeOnDisk, getTitle, getVersion, isXapiEnabled, setManifestFile, setSizeOnDisk
-
Constructor Details
-
Scorm2004Metadata
protected Scorm2004Metadata()Constructs an instance of the Scorm2004Metadata class. This constructor initializes the Scorm2004Metadata object by invoking the superclass's constructor and preparing it for further operations.This class is likely associated with handling metadata specific to the SCORM 2004 standard, a set of technical standards for eLearning.
-
-
Method Details
-
create
Creates a new Scorm2004Metadata instance with standard SCORM 2004 metadata components.- Parameters:
manifest- The SCORM 2004 manifest.xapiEnabled- Whether xAPI is enabled.- Returns:
- A new Scorm2004Metadata instance.
-
hasSequencing
Determines if a SCORM 2004 manifest has sequencing information.This method checks if any item in any organization has sequencing rules defined. Sequencing is considered present if any item has a non-null sequencing element.
- Parameters:
manifest- The SCORM 2004 manifest to check.- Returns:
- true if the manifest contains sequencing information, false otherwise.
-
getDeliveryControlOverrides
Retrieves the set of delivery control overrides. These overrides specify the activities or conditions for which delivery control defaults are not applicable and are customized or explicitly defined.- Returns:
- A set of delivery control overrides.
-
getGlobalObjectiveIds
Retrieves the set of global objective IDs from the manifest. A global objective ID is defined by the presence of a targetObjectiveID in a mapInfo element.- Returns:
- A set of global objective IDs.
-
getSequencingIndicators
Retrieves a list of sequencing indicators associated with the SCORM 2004 metadata. Sequencing indicators are used to specify the sequencing behaviors or rules applied to activities.- Returns:
- An unmodifiable list of strings representing the sequencing indicators.
-
getCompletionThresholds
Retrieves the completion thresholds associated with the SCORM 2004 metadata. Completion thresholds define the required conditions for an activity to reach a completed state, often including minimum progress measures and progress weights.- Returns:
- An unmodifiable map where keys represent activity identifiers, and values are maps containing threshold details, such as minimum progress measures or other completion-related attributes.
-
getTimeLimitActions
Retrieves the time limit actions associated with the SCORM 2004 metadata. Time limit actions define specific behaviors or instructions to follow when time constraints are applied to activities.- Returns:
- An unmodifiable map where the keys represent activity identifiers, and the values represent corresponding time limit actions.
-
getDataFromLms
Retrieves SCORM-based metadata in the form of data from LMS (Learning Management System). This data is represented as a mapping, where the keys are string identifiers, and the values are corresponding string entries provided by the LMS.- Returns:
- An unmodifiable map containing key-value pairs of data from the LMS.
-
getHideLmsUi
Retrieves a mapping of LMS (Learning Management System) UI elements that are hidden. The map keys represent element identifiers, and the values are lists of specific settings or related identifiers associated with each UI element.- Returns:
- An unmodifiable map where keys are string identifiers of LMS UI elements, and values are lists of related settings or parameters associated with those elements.
-
getControlModes
Retrieves the control modes associated with the SCORM 2004 metadata. Control modes define the allowed behaviors or constraints for activities within the SCORM 2004 content package based on specific configurations.- Returns:
- An unmodifiable map where the keys represent the identifiers of control mode configurations, and the values are maps of settings represented as key-value pairs, where keys are their attributes and values are booleans indicating their state.
-
equals
- Overrides:
equalsin classBaseModuleMetadata<Scorm2004Manifest>
-
hashCode
public int hashCode()- Overrides:
hashCodein classBaseModuleMetadata<Scorm2004Manifest>
-
isHasSequencing
public boolean isHasSequencing()Checks if sequencing is enabled.- Returns:
- true if sequencing is enabled, false otherwise
-
getSequencingLevel
Retrieves the current sequencing level.- Returns:
- the sequencing level of type SequencingLevel
-
getActivityDeliveryControls
Retrieves an unmodifiable map containing the delivery controls for activities.- Returns:
- an unmodifiable map where the keys are activity identifiers and the values are the corresponding delivery controls
-
getActivitiesOverridingDeliveryControlDefaults
Retrieves the set of activities that override the default delivery control settings.- Returns:
- an unmodifiable Set of activity identifiers representing activities that have customized delivery control defaults.
-
overridesDeliveryControlDefaults
Determines if the delivery control defaults are overridden for a given activity.- Parameters:
activityId- The identifier of the activity to check.- Returns:
- true if the delivery control defaults are overridden for the specified activity, false otherwise.
-
hasMultipleLaunchableUnits
public boolean hasMultipleLaunchableUnits()Description copied from class:ModuleMetadataDetermines whether this module contains multiple launchable units.This affects player configuration defaults such as navigation controls, table of contents display, and launch behavior. In Rustici Engine and similar LMS platforms, this flag is used to conditionally enable multi-SCO navigation features.
- SCORM 1.2: Multiple resources with scormType="sco"
- SCORM 2004: Multiple items in organization
- AICC: Multiple assignable units
- cmi5/xAPI: Always false (single AU/activity)
- Specified by:
hasMultipleLaunchableUnitsin classModuleMetadata<Scorm2004Manifest>- Returns:
- true if the module contains multiple launchable units, false otherwise
-
getManifestFile
Description copied from class:ModuleMetadataRetrieves the filename of the manifest file for this module.For most module types, this is a constant defined by the specification (e.g., "imsmanifest.xml" for SCORM, "cmi5.xml" for cmi5). For AICC modules, the filename is discovered during parsing as the .crs file can have any name.
- Specified by:
getManifestFilein classModuleMetadata<Scorm2004Manifest>- Returns:
- the manifest filename (e.g., "imsmanifest.xml", "cmi5.xml", "course.crs")
-