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.
Custom deserializer for Duration objects, allowing HH:MM:SS duration strings to be parsed into Duration instances.
Custom deserializer for Duration objects, allowing ISO 8601 duration strings to be parsed into Duration instances.
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.
Custom deserializer for Instant objects, allowing ISO 8601 date-time strings to be parsed into Instant instances.
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.