All Implemented Interfaces:
PackageManifest, Serializable

public class Scorm12Metadata extends BaseModuleMetadata<Scorm12Manifest>
Represents metadata for SCORM 1.2 eLearning modules, including SCORM 1.2-specific fields such as mastery score, prerequisites, and custom data.

This class extends the base BaseModuleMetadata class with additional fields specific to SCORM 1.2, providing metadata that describes the learning module content and requirements.

See Also:
  • Constructor Details

    • Scorm12Metadata

      protected Scorm12Metadata()
      Protected constructor for the Scorm12Metadata class. Initializes a new instance while restricting direct instantiation outside the class or its subclasses.
  • Method Details

    • create

      public static Scorm12Metadata create(Scorm12Manifest manifest, boolean xapiEnabled)
      Creates a new Scorm12Metadata instance with standard SCORM 1.2 metadata components.
      Parameters:
      manifest - The SCORM 1.2 manifest.
      xapiEnabled - Whether xAPI is enabled.
      Returns:
      A new Scorm12Metadata instance.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class BaseModuleMetadata<Scorm12Manifest>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class BaseModuleMetadata<Scorm12Manifest>
    • getPrerequisites

      public Map<String,String> getPrerequisites()
      Retrieves a map of prerequisites defined in the SCORM 1.2 metadata. The map represents the relationships between learning modules where the key is the module identifier and the value is the prerequisite expression.
      Returns:
      An unmodifiable map of module prerequisites where keys are module identifiers and values are associated prerequisite expressions.
    • getMasteryScores

      public Map<String,Double> getMasteryScores()
      Retrieves a map of mastery scores defined in the SCORM 1.2 metadata. The map represents the scores required to achieve mastery for specific modules, where the key is the module identifier and the value is the mastery score.
      Returns:
      An unmodifiable map of module mastery scores where keys are module identifiers and values are the corresponding mastery scores.
    • getCustomData

      public Map<String,String> getCustomData()
      Retrieves a map of custom data defined in the SCORM 1.2 metadata. The map contains key-value pairs where the key is the identifier of a module or item, and the value represents associated custom data.
      Returns:
      An unmodifiable map of custom data where keys are module identifiers and values are the corresponding custom data.
    • hasMultipleLaunchableUnits

      public boolean hasMultipleLaunchableUnits()
      Description copied from class: ModuleMetadata
      Determines 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:
      hasMultipleLaunchableUnits in class ModuleMetadata<Scorm12Manifest>
      Returns:
      true if the module contains multiple launchable units, false otherwise
    • getManifestFile

      public String getManifestFile()
      Description copied from class: ModuleMetadata
      Retrieves 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:
      getManifestFile in class ModuleMetadata<Scorm12Manifest>
      Returns:
      the manifest filename (e.g., "imsmanifest.xml", "cmi5.xml", "course.crs")