Class AiccMetadata
java.lang.Object
dev.jcputney.elearning.parser.output.ModuleMetadata<M>
dev.jcputney.elearning.parser.output.metadata.BaseModuleMetadata<AiccManifest>
dev.jcputney.elearning.parser.output.metadata.aicc.AiccMetadata
- All Implemented Interfaces:
PackageManifest,Serializable
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.
This class extends the base BaseModuleMetadata class to provide metadata specific to AICC
modules, enabling structured storage of AICC format details.
- 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic AiccMetadatacreate(AiccManifest manifest, boolean xapiEnabled, String manifestFile) Creates and initializes an instance of AiccMetadata based on the provided AICC manifest.booleanRetrieves a map representing the assignable unit children.Retrieves a list of assignable unit IDs.Retrieves a list of unit names that can be assigned.Gets the AICC manifest filename (e.g., "course.crs").Retrieves the list of objective IDs.Retrieves a list of AiccObjectiveMetadata objects representing the objective metadata.Retrieves a map containing objectives categorized by assessment units.Retrieves the count of objectives relations.Retrieves a list of parsed prerequisites.Retrieves the count of prerequisite edges.Retrieves a map representing the prerequisites graph of courses or tasks.inthashCode()booleanDetermines whether this module contains multiple launchable units.booleanDetermines if the level 2 requirement is needed.booleanDetermines whether level 3 access is required.booleanIndicates whether level 4 access or requirements are necessary.voidsetManifestFile(String manifestFile) Sets the manifest file to the specified path.Methods inherited from class dev.jcputney.elearning.parser.output.ModuleMetadata
getDescription, getDuration, getIdentifier, getLaunchUrl, getManifest, getModuleEditionType, getModuleType, getSizeOnDisk, getTitle, getVersion, isXapiEnabled, setSizeOnDisk
-
Constructor Details
-
AiccMetadata
public AiccMetadata()
-
-
Method Details
-
create
Creates and initializes an instance of AiccMetadata based on the provided AICC manifest.- Parameters:
manifest- the AICC manifest from which metadata will be extractedxapiEnabled- a boolean indicating whether xAPI is enabledmanifestFile- the filename of the AICC .crs file discovered during parsing- Returns:
- a populated instance of AiccMetadata containing metadata extracted from the manifest
-
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<AiccManifest>- Returns:
- true if the module contains multiple launchable units, false otherwise
-
getManifestFile
Gets the AICC manifest filename (e.g., "course.crs").Unlike other module types where the manifest filename is constant, AICC allows the .crs file to have any name, so this value is discovered during parsing.
- Specified by:
getManifestFilein classModuleMetadata<AiccManifest>- Returns:
- the discovered AICC .crs filename
-
setManifestFile
Sets the manifest file to the specified path.- Overrides:
setManifestFilein classModuleMetadata<AiccManifest>- Parameters:
manifestFile- the file path of the manifest to be set
-
equals
- Overrides:
equalsin classBaseModuleMetadata<AiccManifest>
-
hashCode
public int hashCode()- Overrides:
hashCodein classBaseModuleMetadata<AiccManifest>
-
getAssignableUnitIds
Retrieves a list of assignable unit IDs.- Returns:
- an immutable list of assignable unit IDs.
-
getAssignableUnitNames
Retrieves a list of unit names that can be assigned.- Returns:
- an unmodifiable list of assignable unit names
-
getPrerequisitesEdgeCount
Retrieves the count of prerequisite edges.- Returns:
- the number of prerequisite edges as an Integer
-
getPrerequisitesGraph
Retrieves a map representing the prerequisites graph of courses or tasks. Each key in the map corresponds to a course or task, and its associated value is a list of prerequisites required to complete the key task or course.- Returns:
- an unmodifiable map where keys are strings representing individual items (e.g., courses or tasks) and values are lists of strings representing the prerequisites for each item.
-
getObjectivesRelationCount
Retrieves the count of objectives relations.- Returns:
- the number of objectives relations as an Integer
-
getObjectiveIds
Retrieves the list of objective IDs.- Returns:
- a list containing the objective IDs as immutable strings
-
getObjectivesByAu
Retrieves a map containing objectives categorized by assessment units.- Returns:
- an unmodifiable map where the keys are assessment unit identifiers and the values are lists of objectives associated with each assessment unit.
-
getAssignableUnitChildren
Retrieves a map representing the assignable unit children.- Returns:
- an unmodifiable map where the keys are strings representing the parent units and the values are lists of strings representing their respective child units.
-
getParsedPrerequisites
Retrieves a list of parsed prerequisites.- Returns:
- an unmodifiable list containing the parsed prerequisites.
-
getObjectiveMetadata
Retrieves a list of AiccObjectiveMetadata objects representing the objective metadata.- Returns:
- an immutable list of AiccObjectiveMetadata objects
-
requiresLevel2
public boolean requiresLevel2()Determines if the level 2 requirement is needed.- Returns:
- true if level 2 is required, false otherwise.
-
requiresLevel3
public boolean requiresLevel3()Determines whether level 3 access is required.- Returns:
- true if level 3 access is required, false otherwise.
-
requiresLevel4
public boolean requiresLevel4()Indicates whether level 4 access or requirements are necessary.- Returns:
- true if level 4 is required, otherwise false
-