Class ModuleMetadata<M extends PackageManifest>

java.lang.Object
dev.jcputney.elearning.parser.output.ModuleMetadata<M>
Type Parameters:
M - the type of the package manifest
All Implemented Interfaces:
PackageManifest, Serializable
Direct Known Subclasses:
BaseModuleMetadata

public abstract class ModuleMetadata<M extends PackageManifest> extends Object implements PackageManifest
Represents the core metadata for an eLearning module, providing common fields shared across various module types, such as SCORM, AICC, or cmi5.

Each module type can extend this class to include additional fields specific to that type.

See Also:
  • Field Details

    • manifest

      @NonNull protected M extends PackageManifest manifest
      The package manifest for the module.
    • moduleType

      @NonNull protected @NonNull ModuleType moduleType
      The type of the module (for example, SCORM, AICC, cmi5).
    • moduleEditionType

      @NonNull protected @NonNull ModuleEditionType moduleEditionType
      The specific edition type of the module, including SCORM 2004 edition information.
    • xapiEnabled

      protected boolean xapiEnabled
      Indicates whether xAPI is enabled for the module.
  • Constructor Details

    • ModuleMetadata

      protected ModuleMetadata(M manifest, ModuleType moduleType, ModuleEditionType moduleEditionType, boolean xapiEnabled)
      Constructor for ModuleMetadata.
      Parameters:
      manifest - the package manifest
      moduleType - the module type
      moduleEditionType - the module edition type
      xapiEnabled - whether xAPI is enabled
  • Method Details

    • getTitle

      public String getTitle()
      Description copied from interface: PackageManifest
      The title of the package, which is a human-readable name.
      Specified by:
      getTitle in interface PackageManifest
      Returns:
      the title of the package
    • getDescription

      public String getDescription()
      Description copied from interface: PackageManifest
      The description of the package, which provides additional information about it.
      Specified by:
      getDescription in interface PackageManifest
      Returns:
      the description of the package
    • getLaunchUrl

      public String getLaunchUrl()
      Description copied from interface: PackageManifest
      The launch URL of the package, which is the URL to start the package.
      Specified by:
      getLaunchUrl in interface PackageManifest
      Returns:
      the launch URL of the package
    • getIdentifier

      public String getIdentifier()
      Description copied from interface: PackageManifest
      The identifier of the package, which is a unique string that identifies the package.
      Specified by:
      getIdentifier in interface PackageManifest
      Returns:
      the identifier of the package
    • getVersion

      public String getVersion()
      Description copied from interface: PackageManifest
      The version of the package.
      Specified by:
      getVersion in interface PackageManifest
      Returns:
      the version of the package
    • getDuration

      public Duration getDuration()
      Description copied from interface: PackageManifest
      The duration of the package, which indicates how long the package is expected to take.
      Specified by:
      getDuration in interface PackageManifest
      Returns:
      the duration of the package
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object