All Classes and Interfaces
Class
Description
Abstract base class for
FileAccess implementations that work with archive-like storage
structures (ZIP files, in-memory archives, cloud storage buckets) where root path detection and
path normalization are needed.Abstract base class for S3 FileAccess implementations with common caching and optimization logic.
Validates that an xAPI manifest contains at least one activity.
Represents a node in the SCORM 2004 Activity Tree.
Represents a SCORM 2004 Activity Tree.
Represents the SCORM ADL Content Packaging (ADLCP) elements in the adlcp_v1p3 schema.
Represents the data element, which contains multiple map elements.
Represents the navigation control elements within the SCORM ADL Navigation schema (adlnav_v1p3).
Represents an objective within the SCORM sequencing model.
Represents the SCORM ADL Sequencing (ADLSeq) elements in the adlseq_v1p3 schema.
Enum representing the possible values for
aggregationLevel in a LOM element,
specifying the aggregation level of the learning object.Represents the completion criteria for AICC (Aviation Industry CBT Committee) standards.
Represents the AICC course information.
Represents a course with various properties such as creator, ID, title, system information, and
other specific metadata related to the course.
Represents the behavior properties of a course in an AICC module.
Plugin for detecting AICC modules.
Represents the AICC manifest for a course.
Represents metadata for an AICC eLearning module, including AICC-specific fields such as course
structure, assignable units, prerequisites, objectives, credit type, time limit actions, and
objective relationships.
Objective metadata derived from AICC .ort/.pre files, including association with assignable units
and measure requirements.
Parses AICC (Aviation Industry CBT Committee) eLearning modules by handling both INI-style and
CSV-style files with specific extensions such as .crs, .des, .au, .cst, .ort, and .pre.
Enriched prerequisite details for an assignable unit, including parsed tokens and completion
rules.
Represents an AICC prerequisite expression used in specifying conditions for course
prerequisites.
Represents a node in an AICC prerequisite expression tree.
Defines the types of nodes that can be part of an AICC prerequisite expression tree.
A utility class for parsing AICC prerequisite expressions into structured representations.
Represents a token parsed from an AICC prerequisite expression.
Represents the types of tokens that can be encountered when parsing an AICC prerequisite
expression.
Validator for AICC manifests.
Represents the annotation information about a learning object in a Learning Object Metadata (LOM)
document.
Represents the appearanceSpec complex type.
Represents an Assignable Unit (AU) in the context of AICC (Aviation Industry CBT Committee).
Represents an Assignable Unit (AU) in a CMI5 course structure.
Represents an individual auxiliary resource within the SCORM IMS Simple Sequencing schema.
Represents a collection of auxiliary resources associated with a learning activity within the
SCORM IMS Simple Sequencing (IMSSS) schema.
Base class for module metadata.
Abstract base class for all module parsers, providing shared capability for common operations,
like detecting xAPI-related files and utility methods for file parsing.
Represents the behaviorSpec complex type.
Represents a block within a CMI5 course structure.
A decorator implementation of
FileAccess that adds caching capability to any
FileAccess implementation.Represents the captureHistorySpec complex type.
Represents a catalog entry in LOM metadata.
Enum representing the possible values for
childActivitySet, specifying the set of
child activities to consider when evaluating a rollup rule.Represents the classification information about a learning object in a Learning Object Metadata
(LOM) document.
Implementation of
FileAccess that reads files from the classpath, allowing testing of
modules stored in the resources directory without needing actual filesystem access.Plugin for detecting cmi5 modules.
Represents the root element of a CMI5 course structure manifest.
Represents metadata for a cmi5 module, including cmi5-specific fields such as prerequisites,
dependencies, assignable units, custom data, and xAPI support.
Cmi5Parser is responsible for parsing cmi5-specific metadata from the cmi5.xml file.
Validator for cmi5 manifests.
Represents the communicationsSpec complex type.
Enum representing the completionStatusType simple type.
Represents the completion threshold element, which specifies the minimum progress required to
mark the content as complete.
Enum representing the possible ways to combine multiple conditions within a rollup or sequencing
rule.
Enum representing the possible operators for evaluating a rollup condition.
Represents the constrainedChoiceConsiderationsType complex type, defining choice and activation
restrictions.
The context to which the learning object applies.
Represents a contribution to the lifecycle of the learning object in the Learning Object Metadata
(LOM).
Represents an entity contributing to the lifecycle of the learning object in the Learning Object
Metadata (LOM).
Represents the metadata-specific contribution information in the Learning Object Metadata (LOM).
Represents the control mode settings for a learning activity within the SCORM IMS Simple
Sequencing (IMSSS) schema.
Represents the controlsSpec complex type.
Enum representing the copyright and other restrictions of a learning object.
The cost of using the learning object.
Represents the root course element in a CMI5 course structure, including metadata such as title,
description, and optional custom extensions.
Custom deserializer for AICC course descriptions that provides backward compatibility with legacy
JSON data.
Validates that an AICC manifest contains course information.
Validates that a cmi5 manifest contains course element.
Represents the courseStructure complex type.
Represents the map element, specifying shared data configuration.
Represents a date element in LOM metadata, including the date value and an optional description.
Represents the debugSpec complex type.
Default implementation of the ModuleFileProvider interface.
Default implementation of the ModuleParserFactory interface.
Default implementation of the ModuleTypeDetector interface.
Validates that if a default organization is specified, it references an existing organization.
Validates that the default organization attribute references an existing organization.
Represents the delivery controls for a learning activity within the SCORM IMS Simple Sequencing
(IMSSS) schema.
Represents the descriptor element in an AICC module.
The difficulty of the learning object.
Represents the displayStageSpec complex type.
Validates that all identifiers within the manifest are unique.
Represents the educational information about a learning object in a Learning Object Metadata
(LOM) document.
Enum representing the lookaheadSequencerModeType simple type.
Utility class for detecting character encoding of XML files.
Wrapper class that holds an input stream and its detected encoding.
Represents the exitActionsSpec complex type.
Enum representing the exitActionType simple type.
Represents the exitTypesSpec complex type.
An interface for accessing files within a package or directory.
Exception thrown when there's an error accessing files within a module.
Configuration utility for controlling file existence validation in module parsers.
Utility methods for file operations.
Represents the
general element in the LOM schema, which provides general information
about a learning object.Represents the heuristicSpec complex type.
Enum representing elements of the LMS user interface that can be hidden.
Represents an identifier for a related resource.
Represents the SCORM IMS Simple Sequencing (IMSSS) schema, which defines the sequencing and
navigation rules for SCORM-compliant content.
An implementation of the
FileAccess interface for
accessing files from an in-memory ZIP archive.The role of the end user in the context to which the learning object is intended to be delivered.
Enum representing the possible values for
interactivityLevel in a LOM element,
specifying the interactivity level of the learning resource.Enum representing the possible values for
interactivityType in a lom element,
specifying the degree of interactivity of the learning resource.Enum representing the invalidMenuItemActionType simple type.
The kind of relation between the learning object and the related resource.
Represents a LangString in LOM metadata, which is a collection of strings with language
attributes.
Represents a single localized string with an optional language attribute.
Custom deserializer for LangString objects to ensure that they are properly deserialized from
XML.
Custom deserializer for lists of LangString objects to ensure that they are properly deserialized
from XML.
Validates that every organization has at least one launchable resource.
Enum representing the possible values for
launchMethod in a CMI5 element, specifying
the method used to launch the activity.Represents the launchSpec complex type.
Enum representing the possible launch type for the PackageProperties.
Validates that an AICC course has a launch URL.
Validates that a cmi5 course has at least one AU with a launch URL.
Validates that an xAPI package has a launch URL.
Enum representing the possible values for
type in a learning resource, specifying
the type of learning resource.Represents the lifecycle information about a learning object in a Learning Object Metadata (LOM)
document.
Represents the limit conditions for a learning activity within the SCORM IMS Simple Sequencing
(IMSSS) schema.
Interface representing metadata that can be loaded.
Implementation of FileAccess for local file access.
The root element of a Learning Object Metadata (LOM) document.
Represents the duration metadata of a resource, including the duration value in ISO 8601 format
and an optional description.
Enum representing the lookaheadSequencerModeType simple type.
Validates that the manifest has a required identifier attribute.
Exception thrown when there's an error parsing a module manifest file.
Represents a mapping to a global objective or another objective within the LMS.
A class representing a specific measure type in a decimal format, constrained by specific bounds
and precision requirements.
Custom deserializer for MeasureType, ensuring the value is within the range of -1 to 1 and has at
least four decimal digits.
A custom serializer for the
MeasureType class, enabling its conversion to a JSON string
representation during serialization.Represents the meta-metadata information about a learning object in a Learning Object Metadata
(LOM) document.
Exception thrown when a module type cannot be detected or when there's an error during the module
detection process.
Enum representing the different types and editions of modules.
Base exception class for all module-related exceptions in the elearning-module-parser library.
Interface for providing file access operations specific to module parsing.
Represents the core metadata for an eLearning module, providing common fields shared across
various module types, such as SCORM, AICC, or cmi5.
Interface for parsing module files and extracting metadata.
Interface for creating and managing module parsers.
Exception thrown when there's an error parsing an eLearning module.
Configuration utility for controlling module size calculation in module parsers.
Enum representing the different types of modules.
Interface for detecting the type of eLearning module.
Interface for plugins that detect specific types of eLearning modules.
Enum representing the possible values for
moveOn in a CMI5 element, specifying the
conditions that must be met to move on to the next activity.Enum representing the possible values for
name in a technical element, specifying
the name of the platform or software requirements.Represents the navigation interface controls, which specify options for interacting with the LMS
navigation UI.
Represents a single objective with a title, description, and unique identifier.
Represents a single objective reference.
Represents the objectives section of a CMI5 course structure, containing a list of defined
objectives.
Enum representing the offlineSynchModeType simple type.
Represents an
orComposite element in the LOM schema, defining a set of conditions
related to platform or software requirements.Validates that the manifest contains an organizations element.
Validates that a SCORM 2004 manifest contains an organizations element.
Validates that all resources are referenced by at least one item.
Represents the manifest of a package, containing metadata about the package.
Class representing the root element of the ScormEnginePackageProperties XML.
Result of parsing and validating an eLearning module.
Configuration options for module parsing behavior.
Validates that all file paths in the manifest are safe and don't contain directory traversal
patterns, absolute paths, or external references.
Represents a percentage value constrained between 0 and 1 (inclusive).
Custom deserializer for PercentType, ensuring the value is within the range of 0 to 1.
A custom serializer for the
PercentType class, enabling its conversion to a JSON string
representation during serialization.Represents the presentation settings for the navigation controls.
The purpose of the learning object.
Represents the randomization controls for a learning activity within the SCORM IMS Simple
Sequencing (IMSSS) schema.
Enum representing the possible values for
randomizationTiming and
selectionTiming, specifying when randomization and selection of child activities
should occur.Represents a list of objectives referenced by an AU or block in a CMI5 course structure.
Represents the relationship information about a learning object in a Learning Object Metadata
(LOM) document.
Represents a requirement for a learning object in a Learning Object Metadata (LOM) document.
Enum representing the resetRunTimeDataTimingType simple type.
Represents the
resource element in the LOM schema, containing information about a
related resource, including identifiers and descriptions.Validates that resources referenced by items have valid href attributes (launch URLs).
Validates that resources referenced by items have valid href attributes (launch URLs).
Validates that all item identifierref attributes reference existing resources.
Validates that all item identifierref attributes reference existing resources.
Validates that the manifest has a required resources element.
Enum representing the returnToLmsActionType simple type.
Represents the rights information of a learning object, including cost, copyright, and
descriptions.
Enum representing the possible values for
role in a LOM Contribute element,
specifying the role of the entity contributing to the resource.Enum representing the possible values for
role in a contribute element,
specifying the role of the entity contributing to the resource.Represents the action to perform if the conditions specified in a rollup rule are met.
Enum representing the possible values for
action in a rollup rule, specifying the
effect on the activity’s status when the rule’s conditions are met.Represents an individual rollup condition within a set of rollup conditions.
Represents a set of conditions that control when a rollup rule should apply.
Represents the rollupConsiderationsType complex type, defining attributes for rollup conditions.
Enum for rollup consideration types, with allowed values as per the schema.
Represents an individual rollup rule within a set of rollup rules.
Enum representing the possible conditions that can be evaluated within a rollup rule.
Represents a set of rollup rules within the SCORM IMS Simple Sequencing (IMSSS) schema.
Represents the rsopSpec complex type.
Represents the action to perform if the conditions specified in a sequencing rule are met.
Represents an individual condition within a set of rule conditions.
Represents a set of conditions that must be met for a sequencing rule to apply.
Exception thrown when there's a runtime error related to file access.
Optimized implementation of FileAccess using AWS S3 SDK v1 with batch operations, streaming
support, and intelligent caching.
Optimized implementation of FileAccess using AWS S3 SDK v2 with batch operations, streaming
support, and intelligent caching.
Represents the scoExitActionSpec complex type.
Enum representing the scoreRollupType simple type.
This class contains constants and utility methods for handling SCORM 1.2 ADLCP elements.
Represents a dependency within SCORM 1.2 resource.
Represents a file within SCORM 1.2 resource.
Represents an item within a SCORM 1.2 organization.
Represents the SCORM IMS Content Packaging (IMSCP) elements according to the imscp_rootv1p1p2
schema.
Represents the metadata element in SCORM 1.2.
Represents metadata for SCORM 1.2 eLearning modules, including SCORM 1.2-specific fields such as
mastery score, prerequisites, and custom data.
Represents the
organization element in SCORM 1.2.Represents the
<organizations> element in the SCORM 1.2 manifest file.Parses SCORM 1.2 modules by reading the imsmanifest.xml file and extracting core metadata.
Represents the
<adlcp:prerequisites> element in SCORM 1.2.Represents the
<resource> element in SCORM 1.2 manifest file.Represents the
<resources> element in a SCORM 1.2 manifest file.Validator for SCORM 1.2 manifests and their resource references.
Represents metadata information about the content package in SCORM manifest.
Represents a dependency element within a resource, specifying a relationship to another resource
that this resource relies upon.
Validates that all identifiers in SCORM 2004 manifest are unique.
Represents a file element within a resource, specifying a particular physical file in the content
package.
Represents a single item within an organization, typically mapping to a learning object or
resource.
Represents the SCORM IMS Content Packaging (IMSCP) elements according to the imscp_v1p1 schema.
Represents metadata for SCORM 2004 eLearning modules, including SCORM 2004-specific fields such
as sequencing information, mastery score, custom data, prerequisites, and additional metadata
from external manifests.
Represents an individual learning objective within the SCORM IMS Simple Sequencing schema.
Represents a mapping from a local objective to a global objective within the SCORM IMS Simple
Sequencing schema.
Represents the learning objectives for an activity within the SCORM IMS Simple Sequencing (IMSSS)
schema.
Represents a single organization within the content package.
Represents the hierarchical structure of organizations in the content package.
Validates that all resources in SCORM 2004 manifest are referenced by at least one item.
Parses SCORM 2004 modules by reading the imsmanifest.xml file and extracting core metadata,
including sequencing information, custom data (adlcp:data), prerequisites, mastery score, and any
additional metadata files referenced within the manifest.
Validates that all file paths in SCORM 2004 manifest are safe and don't contain directory
traversal patterns, absolute paths, or external references.
Represents a single resource within the content package, typically corresponding to a physical
file or collection of files that can be delivered within an LMS.
Represents the collection of resources within the content package.
Validator for SCORM 2004 manifests and their resource references.
Utility for validating SCORM 2004 imsmanifest.xml against local XSDs.
Represents metadata for a SCORM element, which can either be inline metadata using a LOM element
or an external reference to a metadata file.
Plugin for detecting SCORM modules (both 1.2 and 2004 versions).
Enum representing the allowed SCORM types in the SCORM ADLCP schema.
Utility class for detecting the version of SCORM modules based on their manifest files.
Enum representing the possible values for
semanticDensity in a LOM element,
specifying the semantic density of the learning resource.Represents a top-level sequencing configuration, containing elements that define the sequencing
rules and objectives for SCORM content.
Represents a collection of sequencing elements within the SCORM IMS Simple Sequencing schema.
Represents a single sequencing rule within a set of pre-condition, exit-condition, or
post-condition rules.
Enum representing the possible values for
conditionType in a sequencing rule
condition, specifying the type of condition that must be met for the rule to apply.Represents a set of sequencing rules within the SCORM IMS Simple Sequencing (IMSSS) schema.
The `SequencingUsageDetector` class provides functionalities for analyzing and detecting
sequencing levels and indicators in SCORM 2004 manifests and associated components.
Represents the result of a sequencing detection process.
Enum representing different types of sequencing indicators used in SCORM 2004 manifests.
The SequencingLevel enum represents different levels of sequencing that can be applied within a
given context.
Represents a simple langstring element as defined in the TinCan XSD schema.
Represents a single language string in LOM metadata.
Represents a source-value pair, commonly used in the LOM schema to describe a value and its
associated source.
Represents the stageSpec complex type.
Enum representing the possible values for
status in a LOM element, specifying the
status of the learning object.Enum representing the statusDisplayType simple type.
Enum representing the statusRollupType simple type.
Interface for listening to streaming progress events.
Utility class for working with streaming file operations.
Enum representing the possible values for
structure in a LOM element, specifying the
structure of the learning object.Represents a taxon within a taxon path in the Learning Object Metadata (LOM) schema.
Represents a taxon path in the Learning Object Metadata (LOM) schema.
Represents the technical information about a learning object in a Learning Object Metadata (LOM)
document.
Represents a localized text element, supporting multiple languages via langstring elements.
Enum for timeLimitAction values.
Represents an activity element in a TinCan manifest.
Represents the root element of a TinCan/xAPI manifest file.
Validates that an AICC course has a title.
Validates that a cmi5 course has a title.
Custom deserializer for trimming leading whitespace and preserving indentation in JSON strings
and XML text blocks.
Enum representing the possible values for
type in a technical element,
specifying the type of the location.Represents a list of language strings in LOM metadata.
Standard validation error and warning codes.
Represents a single validation issue found during module parsing.
Severity levels for validation issues.
Immutable container for validation issues found during module parsing.
Interface for individual validation rules that can be composed together.
Functional interface for validators that check module manifests for issues.
Detector plugin for xAPI/TinCan packages.
Metadata for xAPI/TinCan packaged modules.
Parser for xAPI/TinCan packages.
Validator for xAPI/TinCan manifests.
Utility class for XML parsing operations used throughout the app.
The following schema snippet defines the possible values:
An implementation of the
FileAccess interface for
accessing files within a ZIP archive.