Serialized Form

  • Package dev.jcputney.elearning.parser.api

  • Package dev.jcputney.elearning.parser.exception

  • Package dev.jcputney.elearning.parser.input

  • Package dev.jcputney.elearning.parser.input.aicc

    • Class dev.jcputney.elearning.parser.input.aicc.AiccCompletionCriteria

      class AiccCompletionCriteria extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalRules
          Map<String,String> additionalRules
          A map that holds additional custom rules for defining completion criteria. Each entry in the map represents a key-value pair where the key is a string identifying the custom rule and the value is a string representing the specific configuration or detail of that rule.

          This map is used to extend the default completion criteria with extra, user-defined rules, allowing for greater flexibility and adaptability to specific AICC-based training requirements.

          Keys in this map should be unique and non-blank. The map preserves the insertion order of rules.

        • completionAction
          String completionAction
          Represents the completion action for a specific AICC completion criteria. This variable typically determines the conditions or operations associated with the completion status of a learning module or activity.
        • completionLessonStatus
          String completionLessonStatus
          Represents the status of lesson completion in the AICC completion criteria. This variable typically indicates the current state of lesson completion for a particular training or educational activity.
        • completionResultStatus
          String completionResultStatus
          Represents the completion result status within the AICC (Aviation Industry Computer-Based Training Committee) completion criteria context. This field indicates the status of the result associated with a completion event.
    • Class dev.jcputney.elearning.parser.input.aicc.AiccCourse

      class AiccCourse extends Object implements Serializable
      • Serialized Fields

        • course
          AiccCourse.Course course
          Course information for the AICC manifest.
        • courseBehavior
          AiccCourse.CourseBehavior courseBehavior
          Course behavior information for the AICC manifest.
        • courseDescription
          String courseDescription
          Course description information for the AICC manifest.

          Uses a custom deserializer to provide backward compatibility with legacy JSON data where this field was stored as a Map object (pre-867d2d1). The deserializer handles both the current String format and the legacy Map format.

          See Also:
    • Class dev.jcputney.elearning.parser.input.aicc.AiccCourse.Course

      class Course extends Object implements Serializable
      • Serialized Fields

        • courseCreator
          String courseCreator
          The course creator.
        • courseId
          String courseId
          The course ID.
        • courseSystem
          String courseSystem
          The course system.
        • courseTitle
          String courseTitle
          The course title.
        • level
          String level
          The course level.
        • maxFieldsCst
          String maxFieldsCst
          The maximum fields CST.
        • maxFieldsOrt
          String maxFieldsOrt
          The maximum fields ORT.
        • totalAus
          String totalAus
          The total AUs.
        • totalBlocks
          String totalBlocks
          The total blocks.
        • totalComplexObj
          String totalComplexObj
          The total complex objects.
        • totalObjectives
          String totalObjectives
          The total objectives.
        • version
          String version
          The version of the course.
    • Class dev.jcputney.elearning.parser.input.aicc.AiccCourse.CourseBehavior

      class CourseBehavior extends Object implements Serializable
      • Serialized Fields

        • masteryScore
          String masteryScore
          Represents the score required to achieve mastery for the course.

          This field is used to define the threshold score that determines when a learner has successfully mastered the course material. It is mapped to the "Mastery_Score" JSON property for serialization and deserialization, ensuring compatibility with external systems following the defined schema.

        • maxNormal
          String maxNormal
          The maximum normal value.
        • maxTimeAllowed
          String maxTimeAllowed
          Specifies the maximum amount of time allowed for a course or learning module.

          This field represents a time limit set for the course, if applicable, and is typically expressed in a specific format (e.g., HH:MM:SS). It is annotated to map to the JSON property with the name "Max_Time_Allowed". The value of this field is used to control the permissible duration a learner has to complete the course or module.

        • timeLimitAction
          String timeLimitAction
          Defines the action to be taken when the time limit for a course is exceeded.

          This field is mapped to the JSON property "Time_Limit_Action" and determines how the course behaves when the maximum allowed time is surpassed. The value of this property typically indicates a specific behavior, such as suspending or terminating the course session, or providing a warning to the user.

    • Class dev.jcputney.elearning.parser.input.aicc.AiccManifest

      class AiccManifest extends Object implements Serializable
      • Serialized Fields

        • assignableUnits
          List<AssignableUnit> assignableUnits
          List of assignable units in the AICC manifest.
        • course
          AiccCourse course
          Course information for the AICC manifest.
        • courseStructures
          List<CourseStructure> courseStructures
          List of course structures in the AICC manifest.
        • descriptors
          List<Descriptor> descriptors
          List of descriptors in the AICC manifest.
        • launchUrl
          String launchUrl
          The launch URL for the AICC manifest.
        • objectivesRelationTable
          List<Map<String,String>> objectivesRelationTable
          Optional objective relations table (.ort) rows, if present in the package. Each row is a case-insensitive map of column name to value.
        • prerequisitesTable
          List<Map<String,String>> prerequisitesTable
          Optional prerequisites table (.pre) rows, if present in the package. Each row is a case-insensitive map of column name to value.
    • Class dev.jcputney.elearning.parser.input.aicc.AssignableUnit

      class AssignableUnit extends Object implements Serializable
      • Serialized Fields

        • auPassword
          String auPassword
          The AU password for the assignable unit.
        • commandLine
          String commandLine
          The command line used to launch the assignable unit.
        • completionCriteria
          AiccCompletionCriteria completionCriteria
          Completion criteria (CA/CL/CR) defined for this assignable unit.
        • coreVendor
          String coreVendor
          The core vendor of the assignable unit.
        • descriptor
          Descriptor descriptor
          The AU descriptor for the assignable unit.
        • fileName
          String fileName
          The filename of the assignable unit.
        • masteryScore
          String masteryScore
          The mastery score for the assignable unit.
        • masteryScoreNormalized
          Double masteryScoreNormalized
          Normalized mastery score (0-1 range) resolved for this AU.
        • maxScore
          String maxScore
          The maximum score for the assignable unit.
        • maxTimeAllowed
          String maxTimeAllowed
          The maximum time allowed for the assignable unit.
        • maxTimeAllowedNormalized
          Duration maxTimeAllowedNormalized
          Normalized maximum time allowed as a duration.
        • prerequisiteModel
          AiccPrerequisiteExpression prerequisiteModel
          Parsed representation of the prerequisites expression.
        • prerequisitesExpression
          String prerequisitesExpression
          Raw prerequisites expression sourced from the course structure file.
        • prerequisitesMandatoryOverride
          Boolean prerequisitesMandatoryOverride
          Explicit prerequisite mandatory flag when provided by the source.
        • systemId
          String systemId
          The identifier of the assignable unit.
        • systemVendor
          String systemVendor
          The system vendor of the assignable unit.
        • timeLimitAction
          String timeLimitAction
          The time limit action for the assignable unit.
        • timeLimitActionNormalized
          List<String> timeLimitActionNormalized
          Normalized time limit actions split into individual tokens.
        • type
          String type
          The type of the assignable unit.
        • webLaunch
          String webLaunch
          The web launch URL for the assignable unit.
    • Class dev.jcputney.elearning.parser.input.aicc.CourseStructure

      class CourseStructure extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • additionalColumns
          Map<String,String> additionalColumns
          A map that holds additional column data for a course structure. The keys and values in this map represent arbitrary additional attributes that are not part of the predefined fields in the course structure, allowing for extensibility.

          The map is implemented as a LinkedHashMap to maintain the insertion order of keys. This ensures that the order in which elements are added to the map is preserved during iteration.

          This field is immutable, meaning its reference cannot be changed after initialization. However, the contents of the map (keys and values) can be modified.

        • attributes
          Map<String,String> attributes
          A map used to store key-value pairs representing attributes of a course structure. The keys and values are strings, with the map maintaining the insertion order to ensure consistent iteration.

          This map primarily holds additional data related to the course structure, allowing for dynamic attributes to be associated with courses. Keys are expected to be normalized and unique within the scope of this map.

          The map is final to ensure thread-safe access and to maintain data consistency, preventing reassignment of the map reference.

        • attributesRaw
          String attributesRaw
          Raw attribute string (e.g., CA=, CL=, CR=, MT=, UR=, RT= pairs).
        • block
          String block
          The block element of the course structure.
        • member
          String member
          The member element of the course structure.
        • prerequisites
          String prerequisites
          Raw prerequisites expression associated with the member.
    • Class dev.jcputney.elearning.parser.input.aicc.Descriptor

      class Descriptor extends Object implements Serializable
      • Serialized Fields

        • description
          String description
          The version of the descriptor element.
        • developerId
          String developerId
          The developer ID of the descriptor element.
        • systemId
          String systemId
          The system ID of the descriptor element.
        • title
          String title
          The title of the descriptor element.
  • Package dev.jcputney.elearning.parser.input.aicc.prereq

    • Class dev.jcputney.elearning.parser.input.aicc.prereq.AiccPrerequisiteExpression

      class AiccPrerequisiteExpression extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • ast
          AiccPrerequisiteNode ast
          Represents the abstract syntax tree (AST) for an AICC prerequisite expression.

          This field stores the hierarchical structure of the prerequisite expression, which is represented as a tree of AiccPrerequisiteNode instances. The AST is used to analyze and process the logical relationships and dependencies within the prerequisite expression.

          The tree nodes encapsulate components such as logical operators and identifiers, enabling evaluation or transformation of the expression.

          This field is immutable to ensure thread safety and consistent processing results.

        • mandatory
          boolean mandatory
          Indicates whether the prerequisite expression is marked as mandatory. A mandatory expression must always be satisfied for associated logic or requirements to be fulfilled.
        • optionalAuIds
          List<String> optionalAuIds
          Represents a list of optional AU (Assignable Unit) identifiers that can be included in the evaluation of an AICC prerequisite expression.

          This field holds identifiers that are not strictly required for the expression to be valid but may provide additional checks or contextual relevance when evaluating the prerequisite logic.

          It is immutable and initialized during the construction of the AiccPrerequisiteExpression object, ensuring consistency of the expression's state.

        • postfixTokens
          List<AiccPrerequisiteToken> postfixTokens
          A list of AiccPrerequisiteToken objects representing a postfix (Reverse Polish Notation) representation of the parsed tokens of an AICC prerequisite expression.

          This field serves as an intermediary data structure for evaluating or processing the parsed expression by storing tokens in a postfix order, which eliminates the need for parenthesis and simplifies computation by following operator precedence rules.

          Immutability of the list ensures thread-safety and consistency during operations.

        • rawExpression
          String rawExpression
          Represents the raw prerequisite expression as a string. This field stores the original, unprocessed prerequisite expression provided as input. It is used as the basis for parsing and analyzing the expression into tokens, AST nodes, or other structures.

          The raw expression is immutable and preserved in its original form for reference or debugging purposes while processing the prerequisite logic.

        • referencedAuIds
          List<String> referencedAuIds
          A list of unique identifiers (AU IDs) that are explicitly referenced in the raw prerequisite expression for an AICC (Aviation Industry CBT Committee) course or module. The identifiers typically correspond to specific course components or learning units.

          This field is immutable and is used to track dependencies or relationships between various elements within the prerequisite structure. It plays a role in evaluating and resolving the logical structure of a prerequisite expression.

        • tokens
          List<AiccPrerequisiteToken> tokens
          A collection of tokens parsed from an AICC prerequisite expression.

          Each token in the list represents an individual component of the expression, such as operators, identifiers, or parentheses. The tokens are used to facilitate the processing and evaluation of the prerequisite logic.

          This list is immutable after initialization, ensuring thread safety.

    • Class dev.jcputney.elearning.parser.input.aicc.prereq.AiccPrerequisiteNode

      class AiccPrerequisiteNode extends Object implements Serializable
      • Serialized Fields

        • children
          List<AiccPrerequisiteNode> children
          Represents the child nodes of the current AiccPrerequisiteNode. Each child node is an instance of AiccPrerequisiteNode, allowing a hierarchical structure to represent complex prerequisite expressions.

          This list is immutable, ensuring thread safety and data consistency.

        • type
          AiccPrerequisiteNodeType type
          Defines the structural or logical type of the current node in the prerequisite expression tree. This variable is integral to determining the purpose and behavior of the node within the logical framework of the AICC prerequisite expression.

          This can include, for instance: - IDENTIFIER: Represents an individual course or module. - AND, OR, NOT: Denotes logical operators, forming connections or operations between nodes.

          It ensures that the node has a clearly defined type, enabling consistent operations and validations while constructing or evaluating prerequisite expressions.

          This field is immutable and must be non-null.

        • value
          String value
          Holds the value associated with an AICC prerequisite node. This value typically represents a specific criterion or identifier used within AICC prerequisite parsing and evaluation. It is immutable and set during the creation of the node.
    • Class dev.jcputney.elearning.parser.input.aicc.prereq.AiccPrerequisiteToken

      class AiccPrerequisiteToken extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • optional
          boolean optional
          Indicates whether this token is optional within the AICC prerequisite expression.

          If true, the token represents an optional component of the expression, meaning its presence is not strictly required for the expression to remain valid.

          This field is immutable and is set during the creation of the token.

        • type
          AiccPrerequisiteTokenType type
          The type of this token, represented as an instance of AiccPrerequisiteTokenType.

          This field determines the role of the token in an AICC prerequisite expression, such as whether it is an identifier, operator, or a parenthesis. The type is immutable once assigned.

        • unary
          boolean unary
          Indicates whether the associated prerequisite token is unary in nature.

          A unary token represents an operation or expression dealing with only one operand. It is commonly used to signify the presence of a single condition or state within a prerequisite expression, such as negation or a singular logical condition.

          This field is immutable and is set during the creation of the AiccPrerequisiteToken object.

        • value
          String value
          The string value associated with this token. This represents the actual content or data carried by the token, such as an identifier name or an operator symbol.

          The value is immutable once assigned and may be null to indicate the absence of a specific value for certain token scenarios.

  • Package dev.jcputney.elearning.parser.input.cmi5

    • Class dev.jcputney.elearning.parser.input.cmi5.AU

      class AU extends Object implements Serializable
      • Serialized Fields

        • activityType
          String activityType
          Specifies the type of activity represented by the AU.
          
           <xs:attribute name="activityType" use="optional" type="xs:string"/>
           
        • description
          TextType description
          The description of the Assignable Unit (AU).
          
           <xs:element name="description" type="textType"/>
           
        • entitlementKey
          String entitlementKey
          Optional entitlement key for the AU.
          
           <xs:element name="entitlementKey" minOccurs="0"/>
           
        • id
          String id
          The ID of the Assignable Unit, represented as an anyURI.
          
           <xs:attribute name="id" type="xs:anyURI" use="required"/>
           
        • launchMethod
          LaunchMethod launchMethod
          Specifies the launch method for the AU, defaulting to "AnyWindow".
          
           <xs:attribute name="launchMethod" default="AnyWindow">
             <xs:simpleType>
               <xs:restriction base="xs:string">
                 <xs:enumeration value="AnyWindow"/>
                 <xs:enumeration value="OwnWindow"/>
               </xs:restriction>
             </xs:simpleType>
           
        • launchParameters
          String launchParameters
          Optional launch parameters for the AU.
          
           <xs:element name="launchParameters" minOccurs="0"/>
           
        • masteryScore
          PercentType masteryScore
          The mastery score required for the AU, represented as a decimal between 0 and 1.
          
           <xs:attribute name="masteryScore" use="optional">
             <xs:simpleType>
               <xs:restriction base="xs:decimal">
                 <xs:minInclusive value="0"/>
                 <xs:maxInclusive value="1"/>
               </xs:restriction>
             </xs:simpleType>
           
        • moveOn
          MoveOn moveOn
          Specifies the condition required to move on from the AU. Default is "NotApplicable".
          
           <xs:attribute name="moveOn" default="NotApplicable">
             <xs:simpleType>
               <xs:restriction base="xs:string">
                 <xs:enumeration value="NotApplicable"/>
                 <xs:enumeration value="Passed"/>
                 <xs:enumeration value="Completed"/>
                 <xs:enumeration value="CompletedAndPassed"/>
                 <xs:enumeration value="CompletedOrPassed"/>
               </xs:restriction>
             </xs:simpleType>
           
        • objectives
          ReferencesObjectives objectives
          Objectives referenced by the Assignable Unit.
          
           <xs:element name="objectives" type="referencesObjectivesType" minOccurs="0"/>
           
        • title
          TextType title
          The title of the Assignable Unit (AU).
          
           <xs:element name="title" type="textType"/>
           
        • url
          String url
          The URL for launching the Assignable Unit.
          
           <xs:element name="url">
             <xs:simpleType>
               <xs:restriction base="xs:anyURI">
                 <xs:minLength value="1"/>
               </xs:restriction>
             </xs:simpleType>
           
    • Class dev.jcputney.elearning.parser.input.cmi5.Block

      class Block extends Object implements Serializable
      • Serialized Fields

        • assignableUnits
          List<AU> assignableUnits
          Nested assignable units (AUs) within the block.
          
           <xs:element name="au" type="auType"/>
           
        • description
          TextType description
          The description of the block, represented as a localized text type.
          
           <xs:element name="description" type="textType"/>
           
        • id
          String id
          The unique identifier for the block, represented as an anyURI.
          
           <xs:attribute name="id" type="xs:anyURI" use="required"/>
           
        • nestedBlocks
          List<Block> nestedBlocks
          Nested blocks within this block, allowing for hierarchical structure.
          
           <xs:element name="block" type="blockType"/>
           
        • objectives
          ReferencesObjectives objectives
          The objectives for the block, if specified. This references existing objectives defined in the course.
          
           <xs:element name="objectives" type="referencesObjectivesType" minOccurs="0"/>
           
        • title
          TextType title
          The title of the block, represented as a localized text type.
          
           <xs:element name="title" type="textType"/>
           
    • Class dev.jcputney.elearning.parser.input.cmi5.Cmi5Manifest

      class Cmi5Manifest extends Object implements Serializable
      • Serialized Fields

        • assignableUnits
          List<AU> assignableUnits
          A list of assignable units (AUs) within the course structure.
          
           <xs:element name="au" type="auType"/>
           
        • blocks
          List<Block> blocks
          A list of blocks within the course structure. Each block can contain nested blocks or assignable units (AUs).
          
           <xs:element name="block" type="blockType"/>
           
        • course
          Course course
          The course element, representing the main course metadata.
          
           <xs:element name="course">
             <xs:complexType>
               <xs:sequence>
                 <xs:element name="title" type="textType"/>
                 <xs:element name="description" type="textType"/>
                 <xs:group ref="anyElement"/>
               </xs:sequence>
               <xs:attributeGroup ref="anyAttribute"/>
               <xs:attribute name="id" type="xs:anyURI" use="required"/>
             </xs:complexType>
           </xs:element>
           
        • objectives
          ObjectivesList objectives
          The 'objectives' element, representing the objectives of the course.
          
           <xs:element name="objectives" type="objectivesType" minOccurs="0"/>
           
    • Class dev.jcputney.elearning.parser.input.cmi5.Course

      class Course extends Object implements Serializable
      • Serialized Fields

        • customExtensions
          List<Object> customExtensions
          A list of additional custom elements (extensions) included in the course definition.
          
           <xs:group ref="anyElement"/>
           
        • description
          TextType description
          The description of the course, represented as a localized text type.
          
           <xs:element name="description" type="textType"/>
           
        • id
          String id
          The unique identifier for the course, represented as an anyURI.
          
           <xs:attribute name="id" type="xs:anyURI" use="required"/>
           
        • title
          TextType title
          The title of the course, represented as a localized text type.
          
           <xs:element name="title" type="textType"/>
           
    • Class dev.jcputney.elearning.parser.input.cmi5.ObjectivesList

      class ObjectivesList extends Object implements Serializable
      • Serialized Fields

        • objectives
          List<Objective> objectives
          A list of defined objectives, each represented by an Objective.
          
           <xs:element name="objective" minOccurs="1" maxOccurs="unbounded">
             <xs:complexType>
               <xs:all>
                 <xs:element name="title" type="textType"/>
                 <xs:element name="description" type="textType"/>
               </xs:all>
               <xs:attribute name="id" type="xs:anyURI" use="required"/>
             </xs:complexType>
           
  • Package dev.jcputney.elearning.parser.input.cmi5.types

  • Package dev.jcputney.elearning.parser.input.common

    • Class dev.jcputney.elearning.parser.input.common.PercentType

      class PercentType extends Object implements Serializable
      • Serialized Fields

        • value
          BigDecimal value
          Represents the percentage value for an instance of PercentType.
          • This value is constrained between 0 and 1, inclusive.
          • It enforces the range bounds but does not enforce specific decimal precision.
          • Immutable once assigned, ensuring thread-safe usage and preventing unintended modification.
  • Package dev.jcputney.elearning.parser.input.lom

    • Class dev.jcputney.elearning.parser.input.lom.Annotation

      class Annotation extends Object implements Serializable
      • Serialized Fields

        • date
          Date date
          The date when the annotation was created or last modified.

          Schema snippet:

          
           <complexType name="date">
             <complexContent>
               <extension base="DateTime">
                 <attributeGroup ref="ag:date"/>
               </extension>
             </complexContent>
           </complexType>
           
        • description
          SingleLangString description
          A description of the annotation, represented as a language-specific string.

          Schema snippet:

          
           <complexType name="description">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:description"/>
               </extension>
             </complexContent>
           </complexType>
           
        • entity
          String entity
          The entity that provided the annotation, typically represented as a vCard.

          Schema snippet:

          
           <complexType name="entity">
             <simpleContent>
               <extension base="VCard">
                 <attributeGroup ref="ag:entity"/>
               </extension>
             </simpleContent>
           </complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.Classification

      class Classification extends Object implements Serializable
      • Serialized Fields

        • description
          UnboundLangString description
          A description of this classification, represented as a language-specific string.

          Schema snippet:

          
           <complexType name="description">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:description"/>
               </extension>
             </complexContent>
           </complexType>
           
        • keywords
          UnboundLangString keywords
          Keywords associated with this classification, represented as a list of language-specific strings.

          Schema snippet:

          
           <complexType name="keyword">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:keyword"/>
               </extension>
             </complexContent>
           </complexType>
           
        • purpose
          SourceValuePair<Purpose> purpose
          The purpose of this classification, typically represented as a source-value pair.

          Schema snippet:

          
           <complexType name="purpose">
             <complexContent>
               <extension base="purposeVocab">
                 <attributeGroup ref="ag:purpose"/>
               </extension>
             </complexContent>
           </complexType>
           
        • taxonPaths
          List<TaxonPath> taxonPaths
          The taxonomy paths associated with this classification, allowing for hierarchical categorization.

          Schema snippet:

          
           <complexType name="taxonPath">
             <choice minOccurs="0" maxOccurs="unbounded">
               <group ref="source"/>
               <group ref="taxon"/>
               <group ref="ex:customElements"/>
             </choice>
             <attributeGroup ref="ag:taxonPath"/>
           </complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.Educational

      class Educational extends Object implements Serializable
      • Serialized Fields

        • context
          List<SourceValuePair<Context>> context
          The context in which the learning object is intended to be used, represented as a list of source-value pairs.

          Schema snippet:

          
           <complexType name="context">
             <complexContent>
               <extension base="contextVocab">
                 <attributeGroup ref="ag:context"/>
               </extension>
             </complexContent>
           </complexType>
           
        • descriptions
          UnboundLangString descriptions
          Descriptions of the learning object, represented as a list of language-specific strings.

          Schema snippet:

          
           <complexType name="description">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:description"/>
               </extension>
             </complexContent>
           </complexType>
           
        • difficulty
          SourceValuePair<Difficulty> difficulty
          The difficulty level of the learning object, represented as a source-value pair.

          Schema snippet:

          
           <complexType name="difficulty">
             <complexContent>
               <extension base="difficultyVocab">
                 <attributeGroup ref="ag:difficulty"/>
               </extension>
             </complexContent>
           </complexType>
           
        • intendedEndUserRole
          List<SourceValuePair<IntendedEndUserRole>> intendedEndUserRole
          The intended end-user roles for the learning object, represented as a list of source-value pairs.

          Schema snippet:

          
           <complexType name="intendedEndUserRole">
             <complexContent>
               <extension base="intendedEndUserRoleVocab">
                 <attributeGroup ref="ag:intendedEndUserRole"/>
               </extension>
             </complexContent>
           </complexType>
           
        • interactivityLevel
          SourceValuePair<InteractivityLevel> interactivityLevel
          The interactivity level of the learning object, represented as a source-value pair.

          Schema snippet:

          
           <complexType name="interactivityLevel">
             <complexContent>
               <extension base="interactivityLevelVocab">
                 <attributeGroup ref="ag:interactivityLevel"/>
               </extension>
             </complexContent>
           </complexType>
           
        • interactivityType
          SourceValuePair<InteractivityType> interactivityType
          The interactivity type of the learning object, represented as a source-value pair.

          Schema snippet:

          
           <complexType name="interactivityType">
             <complexContent>
               <extension base="interactivityTypeVocab">
                 <attributeGroup ref="ag:interactivityType"/>
               </extension>
             </complexContent>
           </complexType>
           
        • languages
          List<String> languages
          The language of the learning object, represented as a list of language codes.

          Schema snippet:

          
           <complexType name="language">
             <simpleContent>
               <extension base="LanguageId">
                 <attributeGroup ref="ag:language"/>
               </extension>
             </simpleContent>
           </complexType>
           
        • learningResourceType
          List<SourceValuePair<LearningResourceType>> learningResourceType
          The types of learning resources associated with the learning object, represented as a list of source-value pairs.

          Schema snippet:

          
           <complexType name="learningResourceType">
             <complexContent>
               <extension base="learningResourceTypeVocab">
                 <attributeGroup ref="ag:learningResourceType"/>
               </extension>
             </complexContent>
           </complexType>
           
        • semanticDensity
          SourceValuePair<SemanticDensity> semanticDensity
          The semantic density of the learning object, represented as a source-value pair.

          Schema snippet:

          
           <complexType name="semanticDensity">
             <complexContent>
               <extension base="semanticDensityVocab">
                 <attributeGroup ref="ag:semanticDensity"/>
               </extension>
             </complexContent>
           </complexType>
           
        • typicalAgeRange
          UnboundLangString typicalAgeRange
          The typical age range of the intended audience, represented as a list of language-specific strings.

          Schema snippet:

          
           <complexType name="typicalAgeRange">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:typicalAgeRange"/>
               </extension>
             </complexContent>
           </complexType>
           
        • typicalLearningTime
          LomDuration typicalLearningTime
          The typical learning time required to complete the learning object, represented as a duration.

          Schema snippet:

          
           <complexType name="typicalLearningTime">
             <complexContent>
               <extension base="Duration">
                 <attributeGroup ref="ag:typicalLearningTime"/>
               </extension>
             </complexContent>
           </complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.General

      class General extends Object implements Serializable
      • Serialized Fields

        • aggregationLevel
          SourceValuePair<AggregationLevel> aggregationLevel
          The aggregation level of the learning object, indicating its granularity or size. Represented as a source-value pair.

          Schema snippet:

          
           <xs:group ref="aggregationLevel"/>
           
        • catalogEntries
          List<CatalogEntry> catalogEntries
          A list of catalog entries for the learning object. Catalog entries provide information about the learning object in a structured format.

          Schema snippet:

          
           <xsd:element ref="catalogentry" minOccurs="0" maxOccurs="unbounded"/>
           
        • coverage
          UnboundLangString coverage
          A wrapper for a list of coverage statements for the learning object, represented as language-specific strings. Coverage defines the extent or scope of the content.
        • description
          UnboundLangString description
          A wrapper for a list of descriptions for the learning object, represented as language-specific strings.
        • identifiers
          List<Identifier> identifiers
          A list of identifiers that uniquely identify the learning object.

          Schema snippet:

          
           <xs:group ref="identifier"/>
           
        • keywords
          List<UnboundLangString> keywords
          A wrapper for a list of keywords or phrases describing the content of the learning object, represented as language-specific strings.
        • language
          String language
          The primary language of the learning object. This can also indicate the absence of a language.

          Schema snippet:

          
           <xs:group ref="languageIdOrNone"/>
           
        • structure
          SourceValuePair<Structure> structure
          The structure of the learning object, such as hierarchical or linear. Represented as a source-value pair.

          Schema snippet:

          
           <xs:group ref="structure"/>
           
        • title
          UnboundLangString title
          A list of titles for the learning object. Titles are represented as language-specific strings.

          Schema snippet:

          
           <xs:group ref="title"/>
           
    • Class dev.jcputney.elearning.parser.input.lom.LifeCycle

      class LifeCycle extends Object implements Serializable
      • Serialized Fields

        • contribute
          List<Contribute> contribute
          The list of contributions made to the learning object. Each contribution includes information about the role of the contributor, their entity (e.g., name or organization), and the date of the contribution.

          Schema snippet:

          
           <complexType name="contribute">
             <choice minOccurs="0" maxOccurs="unbounded">
               <group ref="role"/>
               <group ref="entityUnbounded"/>
               <group ref="date"/>
               <group ref="ex:customElements"/>
             </choice>
             <attributeGroup ref="ag:contribute"/>
           </complexType>
           
        • customElements
          List<Object> customElements
          A placeholder for custom elements that extend the lifecycle information. This allows for additional metadata to be included that is not part of the standard schema.

          Schema snippet:

          
           <complexType name="customElements">
             <complexContent>
               <extension base="xs:anyType"/>
             </complexContent>
           </complexType>
           
        • status
          SourceValuePair<Status> status
          The status of the learning object, indicating its stage in the lifecycle (e.g., draft, final, revised).

          Schema snippet:

          
           <complexType name="status">
             <complexContent>
               <extension base="statusVocab">
                 <attributeGroup ref="ag:status"/>
               </extension>
             </complexContent>
           </complexType>
           
        • version
          UnboundLangString version
          The version information about the learning object. This indicates the current version of the learning object.

          Schema snippet:

          
           <complexType name="version">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:version"/>
               </extension>
             </complexContent>
           </complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.LOM

      class LOM extends Object implements Serializable
      • Serialized Fields

        • annotations
          List<Annotation> annotations
          Represents an annotation about the learning object.
          
           <xs:complexType name="annotation">
             <xs:choice minOccurs="0" maxOccurs="unbounded">
               <xs:element name="entity" type="entity" minOccurs="0"/>
               <xs:element name="date" type="date" minOccurs="0"/>
               <xs:element name="description" type="description" minOccurs="0"/>
             </xs:choice>
             <xs:attributeGroup ref="ag:annotation"/>
           </xs:complexType>
           
        • classifications
          List<Classification> classifications
          Represents a classification of the learning object.
          
           <xs:complexType name="classification">
             <xs:choice minOccurs="0" maxOccurs="unbounded">
               <xs:element name="purpose" type="purpose" minOccurs="0"/>
               <xs:element name="taxonPath" type="taxonPath" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="description" type="description" minOccurs="0"/>
               <xs:element name="keyword" type="keyword" minOccurs="0" maxOccurs="unbounded"/>
             </xs:choice>
             <xs:attributeGroup ref="ag:classification"/>
           </xs:complexType>
           
        • educational
          Educational educational
          The educational information about the learning object.
          
           <xs:group ref="educational">
             <xs:sequence>
               <xs:element name="interactivityType" type="interactivityType" minOccurs="0"/>
               <xs:element name="learningResourceType" type="learningResourceType" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="interactivityLevel" type="interactivityLevel" minOccurs="0"/>
               <xs:element name="semanticDensity" type="semanticDensity" minOccurs="0"/>
               <xs:element name="intendedEndUserRole" type="intendedEndUserRole" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="context" type="context" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="typicalAgeRange" type="typicalAgeRange" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="difficulty" type="difficulty" minOccurs="0"/>
               <xs:element name="typicalLearningTime" type="typicalLearningTime" minOccurs="0"/>
               <xs:element name="description" type="description" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="language" type="language" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
           </xs:group>
           
        • general
          General general
          The general information about the learning object.
          
           <xs:group ref="general">
             <xs:sequence>
               <xs:element name="identifier" type="identifier" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="title" type="title" minOccurs="0"/>
               <xs:element name="language" type="language" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="description" type="description" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="keyword" type="keyword" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="coverage" type="coverage" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="structure" type="structure" minOccurs="0"/>
               <xs:element name="aggregationLevel" type="aggregationLevel" minOccurs="0"/>
             </xs:sequence>
           </xs:group>
           
        • lifecycle
          LifeCycle lifecycle
          The lifecycle information about the learning object.
          
           <xs:group ref="lifeCycle">
             <xs:sequence>
               <xs:element name="version" type="version" minOccurs="0"/>
               <xs:element name="status" type="status" minOccurs="0"/>
               <xs:element name="contribute" type="contribute" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
           </xs:group>
           
        • metaMetadata
          MetaMetadata metaMetadata
          The meta-metadata information about the learning object.
          
           <xs:group ref="metaMetadata">
             <xs:sequence>
               <xs:element name="identifier" type="identifier" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="contribute" type="contributeMeta" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="metadataSchema" type="metadataSchema" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="language" type="language" minOccurs="0"/>
             </xs:sequence>
           </xs:group>
           
        • relations
          List<Relation> relations
          Represents a related resource in the context of a relation.
          
           <xs:complexType name="resource">
             <xs:choice minOccurs="0" maxOccurs="unbounded">
               <xs:element name="identifier" type="identifier" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="description" type="description" minOccurs="0"/>
             </xs:choice>
             <xs:attributeGroup ref="ag:resource"/>
           </xs:complexType>
           
        • rights
          Rights rights
          Represents the rights information about the learning object.
          
           <xs:complexType name="rights">
             <xs:choice minOccurs="0" maxOccurs="unbounded">
               <xs:element name="cost" type="cost" minOccurs="0"/>
               <xs:element name="copyrightAndOtherRestrictions" type="copyrightAndOtherRestrictions" minOccurs="0"/>
               <xs:element name="description" type="description" minOccurs="0" maxOccurs="unbounded"/>
             </xs:choice>
             <xs:attributeGroup ref="ag:rights"/>
           </xs:complexType>
           
        • technical
          Technical technical
          The technical information about the learning object.
          
           <xs:group ref="technical">
             <xs:sequence>
               <xs:element name="format" type="format" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="size" type="size" minOccurs="0"/>
               <xs:element name="location" type="location" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="requirement" type="requirement" minOccurs="0" maxOccurs="unbounded"/>
               <xs:element name="installationRemarks" type="installationRemarks" minOccurs="0"/>
               <xs:element name="otherPlatformRequirements" type="otherPlatformRequirements" minOccurs="0"/>
               <xs:element name="duration" type="duration" minOccurs="0"/>
             </xs:sequence>
           </xs:group>
           
    • Class dev.jcputney.elearning.parser.input.lom.MetaMetadata

      class MetaMetadata extends Object implements Serializable
      • Serialized Fields

        • catalogEntries
          List<CatalogEntry> catalogEntries
          A list of catalog entries for the metadata.

          Schema snippet:

          
           <xsd:element ref="catalogentry" minOccurs="0" maxOccurs="unbounded"/>
           
        • contribute
          List<ContributeMeta> contribute
          The list of contributors to the metadata, including their roles, entities, and contribution dates.

          Schema snippet:

          
           <complexType name="contributeMeta">
             <choice minOccurs="0" maxOccurs="unbounded">
               <group ref="roleMeta"/>
               <group ref="entityUnbounded"/>
               <group ref="date"/>
               <group ref="ex:customElements"/>
             </choice>
             <attributeGroup ref="ag:contribute"/>
           </complexType>
           
        • customElements
          List<Object> customElements
          A placeholder for custom elements that extend the meta-metadata information. This allows for additional metadata to be included that is not part of the standard schema.

          Schema snippet:

          
           <complexType name="customElements">
             <complexContent>
               <extension base="xs:anyType"/>
             </complexContent>
           </complexType>
           
        • identifier
          List<Identifier> identifier
          The list of unique identifiers for the metadata. Each identifier typically includes a catalog and an entry.

          Schema snippet:

          
           <complexType name="identifier">
             <choice minOccurs="0" maxOccurs="unbounded">
               <group ref="catalog"/>
               <group ref="entry"/>
               <group ref="ex:customElements"/>
             </choice>
             <attributeGroup ref="ag:identifier"/>
           </complexType>
           
        • language
          String language
          The language used for the metadata content.

          Schema snippet:

          
           <complexType name="language">
             <simpleContent>
               <extension base="LanguageId">
                 <attributeGroup ref="ag:language"/>
               </extension>
             </simpleContent>
           </complexType>
           
        • metadataSchema
          List<String> metadataSchema
          The metadata schema or standard being used. Typically represented as a list of strings.

          Schema snippet:

          
           <complexType name="metadataSchema">
             <simpleContent>
               <extension base="CharacterString">
                 <attributeGroup ref="ag:metadataSchema"/>
               </extension>
             </simpleContent>
           </complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.Relation

      class Relation extends Object implements Serializable
      • Serialized Fields

        • kind
          SourceValuePair<Kind> kind
          The kind of relationship, represented as a source-value pair, specifying the type of connection between the current learning object and another resource.

          Schema snippet:

          
           <complexType name="kind">
             <complexContent>
               <extension base="kindVocab">
                 <attributeGroup ref="ag:kind"/>
               </extension>
             </complexContent>
           </complexType>
           
        • resource
          List<Resource> resource
          The resource information that describes the target of the relationship. A resource can include identifiers and descriptions for the related learning object.

          Schema snippet:

          
           <complexType name="resource">
             <choice minOccurs="0" maxOccurs="unbounded">
               <group ref="identifier"/>
               <group ref="description"/>
               <group ref="ex:customElements"/>
             </choice>
             <attributeGroup ref="ag:resource"/>
           </complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.Rights

      class Rights extends Object implements Serializable
      • Serialized Fields

        • copyrightAndOtherRestrictions
          SourceValuePair<CopyrightAndOtherRestrictions> copyrightAndOtherRestrictions
          Copyright and other restrictions associated with the learning object, represented as a source-value pair.

          Schema snippet:

          
           <complexType name="copyrightAndOtherRestrictions">
             <complexContent>
               <extension base="copyrightAndOtherRestrictionsVocab">
                 <attributeGroup ref="ag:copyrightAndOtherRestrictions"/>
               </extension>
             </complexContent>
           </complexType>
           
        • cost
          SourceValuePair<Cost> cost
          The cost information associated with the learning object, represented as a source-value pair.

          Schema snippet:

          
           <complexType name="cost">
             <complexContent>
               <extension base="costVocab">
                 <attributeGroup ref="ag:cost"/>
               </extension>
             </complexContent>
           </complexType>
           
        • descriptions
          UnboundLangString descriptions
          Descriptions of the "rights" information, represented as a list of language-specific strings.

          Schema snippet:

          
           <complexType name="description">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:description"/>
               </extension>
             </complexContent>
           </complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.Technical

      class Technical extends Object implements Serializable
      • Serialized Fields

        • customElements
          List<Object> customElements
          A placeholder for custom elements that extend the technical information. This allows for additional metadata to be included that is not part of the standard schema.

          Schema snippet:

          
           <complexType name="customElements">
             <complexContent>
               <extension base="xs:anyType"/>
             </complexContent>
           </complexType>
           
        • duration
          LomDuration duration
          The duration metadata of the learning object, including the duration value and an optional description.

          Schema snippet:

          
           <complexType name="duration">
             <complexContent>
               <extension base="Duration">
                 <attributeGroup ref="ag:duration"/>
               </extension>
             </complexContent>
           </complexType>
           
        • format
          List<String> format
          The list of MIME types representing the formats used by the learning object.

          Schema snippet:

          
           <complexType name="format">
             <simpleContent>
               <extension base="MimeType">
                 <attributeGroup ref="ag:format"/>
               </extension>
             </simpleContent>
           </complexType>
           
        • installationRemarks
          SingleLangString installationRemarks
          Remarks or instructions about how to install the learning object.

          Schema snippet:

          
           <complexType name="installationRemarks">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:installationRemarks"/>
               </extension>
             </complexContent>
           </complexType>
           
        • location
          List<String> location
          The list of locations where the learning object can be accessed. Each location is represented as a URL or file path.

          Schema snippet:

          
           <complexType name="location">
             <simpleContent>
               <extension base="CharacterString">
                 <attributeGroup ref="ag:location"/>
               </extension>
             </simpleContent>
           </complexType>
           
        • otherPlatformRequirements
          SingleLangString otherPlatformRequirements
          Additional platform requirements, represented as a single LangString.

          Schema snippet:

          
           <complexType name="otherPlatformRequirements">
             <complexContent>
               <extension base="LangString">
                 <attributeGroup ref="ag:otherPlatformRequirements"/>
               </extension>
             </complexContent>
           </complexType>
           
        • packageProperties
          PackageProperties packageProperties
          Represents the package properties contained within the `Technical` class.

          This attribute maps to the `ScormEnginePackageProperties` element in the corresponding XML schema as defined by the provided namespace URI. The `PackageProperties` instance encapsulates various configuration details such as controls, appearance, behavior, RSOP (Run-Time State of the Package), and heuristics related to SCORM (Sharable Content Object Reference Model) engine packages.

          The field is annotated with `@JacksonXmlProperty` to define how it should be serialized or deserialized when working with XML representations. It utilizes the custom namespace defined by `PackageProperties.NAMESPACE_URI`.

        • requirements
          List<Requirement> requirements
          The list of requirements for the learning object, each represented as an OrComposite.

          Schema snippet:

          
           <complexType name="requirement">
             <choice minOccurs="0" maxOccurs="unbounded">
               <group ref="orComposite"/>
               <group ref="ex:customElements"/>
             </choice>
             <attributeGroup ref="ag:requirement"/>
           </complexType>
           
        • size
          Integer size
          The size of the learning object, in bytes.

          Schema snippet:

          
           <complexType name="size">
             <simpleContent>
               <extension base="Size">
                 <attributeGroup ref="ag:size"/>
               </extension>
             </simpleContent>
           </complexType>
           
  • Package dev.jcputney.elearning.parser.input.lom.properties

  • Package dev.jcputney.elearning.parser.input.lom.types

    • Class dev.jcputney.elearning.parser.input.lom.types.CatalogEntry

      class CatalogEntry extends Object implements Serializable
      • Serialized Fields

        • catalog
          String catalog
          The catalog of the entry.

          Example: "IEEE LOM" or "Dublin Core".

        • entry
          UnboundLangString entry
          The entry in the catalog.

          Example: "LOMv1.0" or "Dublin Core v1.0".

    • Class dev.jcputney.elearning.parser.input.lom.types.Contribute

      class Contribute extends Object implements Serializable
      • Serialized Fields

        • cEntities
          List<ContributeEntity> cEntities
          A list of entities contributing to the learning object, typically represented as vCard data.

          Schema Definition:

          
           <xsd:complexType name="centityType">
           		<xsd:sequence>
           			<xsd:element ref="vcard"/>
           		</xsd:sequence>
           	</xsd:complexType>
           
        • date
          Date date
          The date associated with the contribution, such as when the contribution was made or its significance.

          This includes an optional description that provides additional details about the date.

          Schema Definition:

          
           <xs:complexType name="date">
             <xs:complexContent>
               <xs:extension base="DateTime">
                 <xs:attributeGroup ref="ag:date"/>
               </xs:extension>
             </xs:complexContent>
           </xs:complexType>
           
        • entities
          List<String> entities
          A list of entities contributing to the learning object, typically represented as vCard data. Example:
          
           <![CDATA[BEGIN:VCARD
           VERSION:2.1
           FN:Jane Doe
           ORG:Example Organization
           TEL:+123456789
           END:VCARD]]>
           

          Schema Definition:

          
           <xs:complexType name="entity">
             <xs:simpleContent>
               <xs:extension base="VCard">
                 <xs:attributeGroup ref="ag:entity"/>
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
           
        • role
          SourceValuePair<Role> role
          The role of the contributor, specifying their relationship to the learning object. Example roles include "publisher", "creator", or "validator".

          Schema Definition:

          
           <xs:complexType name="role">
             <xs:complexContent>
               <xs:extension base="roleVocab">
                 <xs:attributeGroup ref="ag:role"/>
               </xs:extension>
             </xs:complexContent>
           </xs:complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.ContributeEntity

      class ContributeEntity extends Object implements Serializable
      • Serialized Fields

        • vCard
          String vCard
          The VCARD representation of the entity contributing to the lifecycle of the learning object. Example:
          
           <![CDATA[BEGIN:VCARD
           VERSION:2.1
           FN:Jane Doe
           ORG:Example Organization
           TEL:+123456789
           END:VCARD]]>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.ContributeMeta

      class ContributeMeta extends Object implements Serializable
      • Serialized Fields

        • date
          Date date
          The date associated with the contribution, including optional descriptions.
        • entities
          List<String> entities
          A list of entities contributing to the metadata, typically represented as vCard data. Example:
          
           <![CDATA[BEGIN:VCARD
           VERSION:2.1
           FN:John Doe
           END:VCARD]]>
           
        • role
          SourceValuePair<RoleMeta> role
          The role of the contributor, specifying their relationship to the metadata. Example: "creator", "validator", etc.
    • Class dev.jcputney.elearning.parser.input.lom.types.Date

      class Date extends Object implements Serializable
      • Serialized Fields

        • dateTime
          String dateTime
          The actual date-time value.
        • description
          UnboundLangString description
          A description of the date, typically a LangString.
    • Class dev.jcputney.elearning.parser.input.lom.types.Identifier

      class Identifier extends Object implements Serializable
      • Serialized Fields

        • catalog
          String catalog
          The catalog for the identifier.
        • entry
          String entry
          The entry for the identifier.
    • Class dev.jcputney.elearning.parser.input.lom.types.LangString

      class LangString extends Object implements Serializable
      • Serialized Fields

        • language
          String language
          The language of the string.
        • value
          String value
          The actual string value.
    • Class dev.jcputney.elearning.parser.input.lom.types.LomDuration

      class LomDuration extends Object implements Serializable
      • Serialized Fields

        • description
          SingleLangString description
          A natural language description of the duration, represented as a LangString.

          Example:

          
           <description>
             <string language="en-us">This video is 10 minutes long.</string>
           </description>
           
        • duration
          Duration duration
          The duration of the resource in ISO 8601 format (e.g., "PT10M").
    • Class dev.jcputney.elearning.parser.input.lom.types.OrComposite

      class OrComposite extends Object implements Serializable
      • Serialized Fields

        • maximumVersion
          String maximumVersion
          The maximum version of the platform or software required.

          Schema snippet:

          
           <xs:complexType name="maximumVersion">
             <xs:simpleContent>
               <xs:extension base="CharacterString">
                 <xs:attributeGroup ref="ag:maximumVersion"/>
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
           
        • minimumVersion
          String minimumVersion
          The minimum version of the platform or software required.

          Schema snippet:

          
           <xs:complexType name="minimumVersion">
             <xs:simpleContent>
               <xs:extension base="CharacterString">
                 <xs:attributeGroup ref="ag:minimumVersion"/>
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
           
        • name
          SourceValuePair<Name> name
          The name of the platform or software, represented as controlled vocabulary.

          Schema snippet:

          
           <xs:complexType name="name">
             <xs:complexContent>
               <xs:extension base="nameVocab">
                 <xs:attributeGroup ref="ag:name"/>
               </xs:extension>
             </xs:complexContent>
           </xs:complexType>
           
        • type
          SourceValuePair<Type> type
          The type of platform or software requirement, represented as controlled 'vocabulary'.

          Schema snippet:

          
           <xs:complexType name="type">
             <xs:complexContent>
               <xs:extension base="typeVocab">
                 <xs:attributeGroup ref="ag:type"/>
               </xs:extension>
             </xs:complexContent>
           </xs:complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.Requirement

      class Requirement extends OrComposite implements Serializable
      • Serialized Fields

        • orCompositeList
          List<OrComposite> orCompositeList
          The list of OR-composite elements representing a set of alternative conditions that must be met to use the learning object. This is for SCORM 2004 compatibility.

          Schema snippet:

          
           <xs:group ref="orComposite">
             <xs:element name="orComposite" type="OrComposite" maxOccurs="unbounded"/>
           </xs:group>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.Resource

      class Resource extends Object implements Serializable
      • Serialized Fields

        • catalogEntries
          List<CatalogEntry> catalogEntries
          A list of catalog entries for the resource.

          Schema snippet:

          
           <xsd:element ref="catalogentry" minOccurs="0" maxOccurs="unbounded"/>
           
        • customElements
          List<Object> customElements
          A placeholder for custom elements that extend the resource information. This allows for additional metadata to be included that is not part of the standard schema.

          Schema snippet:

          
           <complexType name="customElements">
             <complexContent>
               <extension base="xs:anyType"/>
             </complexContent>
           </complexType>
           
        • descriptions
          UnboundLangString descriptions
          A list of descriptions providing language-specific information about the related resource.

          Schema snippet:

          
           <xs:complexType name="description">
             <xs:complexContent>
               <xs:extension base="LangString">
                 <xs:attributeGroup ref="ag:description"/>
               </xs:extension>
             </xs:complexContent>
           </xs:complexType>
           
        • identifiers
          List<Identifier> identifiers
          The list of identifiers that uniquely reference the related resource.

          Schema snippet:

          
           <xs:complexType name="identifier">
             <xs:choice minOccurs="0" maxOccurs="unbounded">
               <xs:group ref="catalog"/>
               <xs:group ref="entry"/>
               <xs:group ref="ex:customElements"/>
             </xs:choice>
             <xs:attributeGroup ref="ag:identifier"/>
           </xs:complexType>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.SingleLangString

      class SingleLangString extends Object implements Serializable
      • Serialized Fields

        • langString
          LangString langString
          The string value for a given language.
    • Class dev.jcputney.elearning.parser.input.lom.types.SourceValuePair

      class SourceValuePair extends Object implements Serializable
      • Serialized Fields

        • source
          String source
          The source of the value, typically a reference to a controlled vocabulary or schema.

          Schema snippet:

          
           <xs:element name="source" type="CharacterString"/>
           
        • value
          T extends Serializable value
          The value associated with the source, representing the specific term or definition.

          Schema snippet:

          
           <xs:element name="value" type="CharacterString"/>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.Taxon

      class Taxon extends Object implements Serializable
      • Serialized Fields

        • customElements
          List<Object> customElements
          Any custom elements or extensions defined within the taxon, allowing for schema extensibility.

          Schema snippet:

          
           <xs:group ref="ex:customElements"/>
           
        • entry
          SingleLangString entry
          The entry providing a description or label for the taxon, often represented as a multilingual string.

          Schema snippet:

          
           <xs:group ref="entryTaxon">
             <xs:element name="entry" type="LangString"/>
           </xs:group>
           
        • id
          String id
          The unique identifier for the taxon, typically used to reference the taxon in a classification system.

          Schema snippet:

          
           <xs:group ref="id">
             <xs:element name="id" type="CharacterString"/>
           </xs:group>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.TaxonPath

      class TaxonPath extends Object implements Serializable
      • Serialized Fields

        • customElements
          List<Object> customElements
          Any custom elements or extensions defined within the taxon path, allowing for schema extensibility.

          Schema snippet:

          
           <xs:group ref="ex:customElements"/>
           
        • source
          SingleLangString source
          The source describing the classification system or taxonomy from which the taxa are derived. Often represented as a multilingual string.

          Schema snippet:

          
           <xs:group ref="source">
             <xs:element name="source" type="LangString"/>
           </xs:group>
           
        • taxons
          List<Taxon> taxons
          A list of taxon elements representing nodes or concepts in the hierarchical classification. Each taxon specifies a unique concept within the taxonomy.

          Schema snippet:

          
           <xs:group ref="taxon">
             <xs:element name="taxon" type="Taxon" maxOccurs="unbounded"/>
           </xs:group>
           
    • Class dev.jcputney.elearning.parser.input.lom.types.UnboundLangString

      class UnboundLangString extends Object implements Serializable
      • Serialized Fields

        • langStrings
          List<LangString> langStrings
          The string values for multiple languages.
  • Package dev.jcputney.elearning.parser.input.scorm12

    • Class dev.jcputney.elearning.parser.input.scorm12.Scorm12ADLCP

      class Scorm12ADLCP extends Object implements Serializable
    • Class dev.jcputney.elearning.parser.input.scorm12.Scorm12Manifest

      class Scorm12Manifest extends Object implements Serializable
      • Serialized Fields

        • base
          String base
          The base URL for all resources in the content package. This URL is used to resolve relative paths for resources.
        • identifier
          String identifier
          The unique identifier for the manifest. This attribute is used to uniquely identify the content package within an LMS.
        • metadata
          Scorm12Metadata metadata
          Metadata associated with the manifest, typically including schema and version information, which provide context for the content package.
        • organizations
          Scorm12Organizations organizations
          Contains the set of organizations that represent the structure of the content. Each organization defines a hierarchical structure of learning resources.
        • resources
          Scorm12Resources resources
          Contains the list of resources within the content package, each representing a learning object or asset to be delivered within the LMS.
        • version
          String version
          The version of the manifest. Specifies the version of the content package, which may be used by the LMS to manage content versions.
  • Package dev.jcputney.elearning.parser.input.scorm12.adl

  • Package dev.jcputney.elearning.parser.input.scorm12.ims.cp

    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12Dependency

      class Scorm12Dependency extends Object implements Serializable
      • Serialized Fields

        • identifierRef
          String identifierRef
          A reference to the identifier of the required resource. This is an IDREF pointing to another resource within the same manifest file.
    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12File

      class Scorm12File extends Object implements Serializable
      • Serialized Fields

        • exists
          boolean exists
          Specifies whether the file exists in the content package. This is not parsed from the manifest but is set during processing.
        • href
          String href
          The path to the file relative to the resource's base. This is typically a URI pointing to a specific file within the SCORM package.
        • metadata
          Scorm12Metadata metadata
          Metadata providing additional descriptive information about the file. This element is optional.
    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12Item

      class Scorm12Item extends Object implements Serializable
      • Serialized Fields

        • dataFromLMS
          String dataFromLMS
          Represents the dataFromLMS element, defined as a string with no restrictions. This value should be passed to the LMS when the item is launched, in the `cmi.launch_data` parameter.
        • identifier
          String identifier
          The unique identifier for this item within the organization.
        • identifierRef
          String identifierRef
          References to a resource within the manifest that this item represents. This is an optional attribute.
        • isVisible
          Boolean isVisible
          Specifies whether this item is visible in the navigation tree. Defaults to true.
        • items
          List<Scorm12Item> items
          Child items of this item, allowing for a hierarchical structure. This is an optional element.
        • masteryScore
          Double masteryScore
          Represents the masteryScore element, defined as a decimal with a minimum of 0 and a maximum of 100.
        • maxTimeAllowed
          Duration maxTimeAllowed
          The maximum amount of time allowed for this resource to be completed.
        • metadata
          Scorm12Metadata metadata
          Metadata providing additional descriptive information about the item. This element is optional.
        • parameters
          String parameters
          Querystring parameters that should be passed to an associated SCO or Asset on launch. Useful for varying the behavior of shared resources based on the item from which they are referenced.
        • prerequisites
          Scorm12Prerequisites prerequisites
          Represents the prerequisites attribute, which is a list of identifiers that must be completed before this item can be accessed. The list can be separated by "AND" or "OR" operators.
        • timeLimitAction
          TimeLimitAction timeLimitAction
          Represents the timeLimitAction element with enumerated values: "exit,message", "exit,no message", "continue,message", "continue,no message".

          Schema definition:

          
           <xs:attribute name="timeLimitAction" type="adlcp:timeLimitActionType" use="optional"/>
           <xs:simpleType name="timeLimitActionType">
               <xs:restriction base="xs:string">
                   <xs:enumeration value="exit,message"/>
                   <xs:enumeration value="exit,no message"/>
                   <xs:enumeration value="continue,message"/>
                   <xs:enumeration value="continue,no message"/>
               </xs:restriction>
           </xs:simpleType>
           
        • title
          String title
          The title of the item, describing its content or purpose.
    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12Metadata

      class Scorm12Metadata extends Object implements Serializable
      • Serialized Fields

        • location
          String location
          A reference to an external metadata file, provided as a URI. This element is optional.
        • lom
          LOM lom
          Inline metadata in the form of a Learning Object Metadata (LOM) element. This element is optional.
        • schema
          String schema
          The schema used in the metadata description, such as "ADL SCORM". This element is optional.
        • schemaVersion
          String schemaVersion
          The version of the schema used, such as "1.2". This element is optional.
    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12Organization

      class Scorm12Organization extends Object implements Serializable
      • Serialized Fields

        • identifier
          String identifier
          The unique identifier for this organization.
        • items
          List<Scorm12Item> items
          A list of items that belong to this organization, defining the hierarchical structure.
        • metadata
          Scorm12Metadata metadata
          The metadata associated with this organization.
        • structure
          String structure
          The structure of the organization. Common values include hierarchical or flat.
        • title
          String title
          The title of the organization, providing a descriptive label.
    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12Organizations

      class Scorm12Organizations extends Object implements Serializable
      • Serialized Fields

        • defaultOrganization
          String defaultOrganization
          The default organization identifier within the content package. Defines which organization to use if multiple organizations are present.
        • organizationList
          List<Scorm12Organization> organizationList
          A list of organizations within the content package, each representing a structured hierarchy of learning items.
    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12Resource

      class Scorm12Resource extends Object implements Serializable
      • Serialized Fields

        • base
          String base
          The base URL for this resource. This URL is used to resolve relative paths for resources.
        • dependencies
          List<Scorm12Dependency> dependencies
          A list of dependencies that this resource requires. Dependencies define other resources that must be available for this resource to function correctly.
        • files
          List<Scorm12File> files
          A list of files associated with this resource, representing the physical files that are part of the learning object.
        • href
          String href
          The URL or path to the main entry point file for this resource.
        • identifier
          String identifier
          The unique identifier for this resource, which allows it to be referenced by items.
        • metadata
          Scorm12Metadata metadata
          The unique identifier for this resource, used to distinguish it from other resources within the same manifest.
        • scormType
          ScormType scormType
          The SCORM type of the resource.

          Specifies the SCORM-specific type of the resource (e.g., "sco" or "asset").

        • type
          String type
          Specifies the type of resource, such as "webcontent".
    • Class dev.jcputney.elearning.parser.input.scorm12.ims.cp.Scorm12Resources

      class Scorm12Resources extends Object implements Serializable
      • Serialized Fields

        • base
          String base
          The base URL for all resources in the content package. This URL is used to resolve relative paths for resources.
        • resourceList
          List<Scorm12Resource> resourceList
          A list of all <resources> elements defined within the <resources> element.

          Each <resources> specifies a particular resource (e.g., SCO, asset, or other content) in the package.

  • Package dev.jcputney.elearning.parser.input.scorm2004

    • Class dev.jcputney.elearning.parser.input.scorm2004.ADLCP

      class ADLCP extends Object implements Serializable
    • Class dev.jcputney.elearning.parser.input.scorm2004.ADLNav

      class ADLNav extends Object implements Serializable
    • Class dev.jcputney.elearning.parser.input.scorm2004.ADLSeq

      class ADLSeq extends Object implements Serializable
    • Class dev.jcputney.elearning.parser.input.scorm2004.IMSSS

      class IMSSS extends Object implements Serializable
    • Class dev.jcputney.elearning.parser.input.scorm2004.Scorm2004Manifest

      class Scorm2004Manifest extends Object implements Serializable
      • Serialized Fields

        • adlcpNamespaceUri
          String adlcpNamespaceUri
          Captures the declared ADLCP namespace on the manifest root element (e.g., ... or ...). This helps with SCORM 2004 edition detection when schemaversion is absent.
        • adlnavNamespaceUri
          String adlnavNamespaceUri
          Captures the declared ADL Navigation namespace on the manifest root element. This namespace enables presentation controls such as adlnav:presentation and hideLMSUI.
        • adlseqNamespaceUri
          String adlseqNamespaceUri
          Captures the declared ADL Sequencing namespace on the manifest root element. This namespace exposes ADL sequencing extensions such as constrained choice and rollup considerations.
        • identifier
          String identifier
          The unique identifier for the manifest. This attribute is used to uniquely identify the content package within an LMS.
        • imsssNamespaceUri
          String imsssNamespaceUri
          Captures the declared IMSSS namespace on the manifest root element. Its presence is a strong signal that sequencing is implemented.
        • metadata
          Scorm2004CourseMetadata metadata
          Metadata associated with the manifest, typically including schema and version information, which provide context for the content package.
        • organizations
          Scorm2004Organizations organizations
          Contains the set of organizations that represent the structure of the content. Each organization defines a hierarchical structure of learning resources.
        • resources
          Scorm2004Resources resources
          Contains the list of resources within the content package, each representing a learning object or asset to be delivered within the LMS.
        • schemaLocation
          String schemaLocation
          Captures the xsi:schemaLocation attribute value to assist in edition detection when schemaversion is missing.
        • sequencingCollection
          SequencingCollection sequencingCollection
          Contains the sequencing collection for the content package, which defines rules, objectives, and rollup behaviors for the content.
        • version
          String version
          The version of the manifest. Specifies the version of the content package, which may be used by the LMS to manage content versions.
  • Package dev.jcputney.elearning.parser.input.scorm2004.adl.cp

  • Package dev.jcputney.elearning.parser.input.scorm2004.adl.navigation

  • Package dev.jcputney.elearning.parser.input.scorm2004.adl.sequencing

    • Class dev.jcputney.elearning.parser.input.scorm2004.adl.sequencing.ADLObjective

      class ADLObjective extends Object implements Serializable
      • Serialized Fields

        • mapInfoList
          List<MapInfo> mapInfoList
          List of mappings for this objective, defining connections to global objectives or other objectives within the LMS.
        • objectiveID
          String objectiveID
          The unique identifier for this objective. This is used to map the objective within the LMS to track the learner’s progress and completion status.
    • Class dev.jcputney.elearning.parser.input.scorm2004.adl.sequencing.ConstrainChoiceConsiderations

      class ConstrainChoiceConsiderations extends Object implements Serializable
      • Serialized Fields

        • constrainChoice
          boolean constrainChoice
          Constrains choice when true. Default is false.
        • preventActivation
          boolean preventActivation
          Prevents activation when true. Default is false.
    • Class dev.jcputney.elearning.parser.input.scorm2004.adl.sequencing.MapInfo

      class MapInfo extends Object implements Serializable
      • Serialized Fields

        • readCompletionStatus
          boolean readCompletionStatus
          Indicates whether the completion status for this objective should be read from the mapped global objective.
        • readMaxScore
          boolean readMaxScore
          Indicates whether the maximum score for this objective should be read from the mapped global objective.
        • readMinScore
          boolean readMinScore
          Indicates whether the minimum score for this objective should be read from the mapped global objective.
        • readProgressMeasure
          boolean readProgressMeasure
          Indicates whether the progress measure for this objective should be read from the mapped global objective.
        • readRawScore
          boolean readRawScore
          Indicates whether the raw score for this objective should be read from the mapped global objective.
        • targetObjectiveID
          String targetObjectiveID
          The unique identifier for the target objective in the LMS that this objective is mapped to. This enables global tracking of the objective’s completion and satisfaction status.
        • writeCompletionStatus
          boolean writeCompletionStatus
          Indicates whether the completion status for this objective should be written to the mapped global objective.
        • writeMaxScore
          boolean writeMaxScore
          Indicates whether the maximum score for this objective should be written to the mapped global objective.
        • writeMinScore
          boolean writeMinScore
          Indicates whether the minimum score for this objective should be written to the mapped global objective.
        • writeProgressMeasure
          boolean writeProgressMeasure
          Indicates whether the progress measure for this objective should be written to the mapped global objective.
        • writeRawScore
          boolean writeRawScore
          Indicates whether the raw score for this objective should be written to the mapped global objective.
    • Class dev.jcputney.elearning.parser.input.scorm2004.adl.sequencing.RollupConsiderations

      class RollupConsiderations extends Object implements Serializable
      • Serialized Fields

        • measureSatisfactionIfActive
          boolean measureSatisfactionIfActive
          Indicates if satisfaction is measured only when active. Default is true.
        • requiredForCompleted
          RollupConsiderationType requiredForCompleted
          Specifies when completion is required for rollup. Default is "always".
        • requiredForIncomplete
          RollupConsiderationType requiredForIncomplete
          Specifies when incompletion is required for rollup. Default is "always".
        • requiredForNotSatisfied
          RollupConsiderationType requiredForNotSatisfied
          Specifies when not satisfaction is required for rollup. Default is "always".
        • requiredForSatisfied
          RollupConsiderationType requiredForSatisfied
          Specifies when satisfaction is required for rollup. Default is "always".
  • Package dev.jcputney.elearning.parser.input.scorm2004.ims.cp

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004CourseMetadata

      class Scorm2004CourseMetadata extends Object implements Serializable
      • Serialized Fields

        • location
          String location
          The location of the external metadata file, referenced using the adlcp:location element. This allows the manifest to link to a separate file that contains detailed metadata for the course.
          
           <adlcp:location>metadata_course.xml</adlcp:location>
           
        • lom
          LOM lom
          Inline metadata represented as a LOM element. This provides detailed information about the course, such as the title, description, and other relevant details.
        • schema
          String schema
          The schema used in the metadata description. Defines the structure and versioning information for interpreting the content package.
          
           <schema>ADL SCORM</schema>
           
        • schemaVersion
          String schemaVersion
          The version of the schema used. This helps LMS systems interpret the specific content structure and requirements.
          
           <schemaversion>2004 3rd Edition</schemaversion>
           
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004Dependency

      class Scorm2004Dependency extends Object implements Serializable
      • Serialized Fields

        • identifierRef
          String identifierRef
          The identifier reference for the dependency. This points to another resource in the content package that this resource depends on.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004File

      class Scorm2004File extends Object implements Serializable
      • Serialized Fields

        • exists
          boolean exists
          Specifies whether the file exists in the content package. This is not parsed from the manifest but is set during processing.
        • href
          String href
          The URL or path to the file within the content package.
        • metadata
          Scorm2004SubMetadata metadata
          Metadata associated with this file, providing details such as file size, creation date, and other descriptive information relevant to the file.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004Item

      class Scorm2004Item extends Object implements Serializable
      • Serialized Fields

        • completionThreshold
          CompletionThreshold completionThreshold
          The completion threshold for this item, specifying the minimum progress required to mark the content as complete.
        • data
          ADLData data
          The data element for this item, containing one or more map elements.
        • dataFromLMS
          String dataFromLMS
          Represents the dataFromLMS element, defined as a string with no restrictions. This value should be passed to the LMS when the item is launched, in the `cmi.launch_data` parameter.
        • identifier
          String identifier
          The unique identifier for this item within the organization.
        • identifierRef
          String identifierRef
          References to a resource within the manifest that this item represents.
        • isVisible
          boolean isVisible
          The structure of this item, defining the hierarchical arrangement of items within the organization. The structure is typically a tree-like arrangement of items, but is not typically used in any meaningful way.
        • items
          List<Scorm2004Item> items
          A list of items within this item, representing a hierarchical structure of learning objects.
        • masteryScore
          Double masteryScore
          Represents the masteryScore element, defined as a decimal with a minimum of 0 and a maximum of 100.
        • metadata
          Scorm2004SubMetadata metadata
          Metadata associated with this item, providing details such as
        • parameters
          String parameters
          Querystring parameters that should be passed to an associated SCO or Asset on launch. Useful for varying the behavior of shared resources based on the item from which they are referenced.
        • prerequisites
          String prerequisites
          Represents the prerequisites attribute, which is a list of identifiers that must be completed before this item can be accessed. The list can be separated by "AND" or "OR" operators.
        • presentation
          Presentation presentation
          Navigation presentation rules for this item, defining how the item should be presented to the learner.
        • sequencing
          Sequencing sequencing
          The sequencing element for this item, defining rules, objectives, and rollup behaviors.
        • timeLimitAction
          TimeLimitAction timeLimitAction
          Represents the timeLimitAction element with enumerated values: "exit,message", "exit,no message", "continue,message", "continue,no message".

          Schema definition:

          
           <xs:attribute name="timeLimitAction" type="adlcp:timeLimitActionType" use="optional"/>
           <xs:simpleType name="timeLimitActionType">
               <xs:restriction base="xs:string">
                   <xs:enumeration value="exit,message"/>
                   <xs:enumeration value="exit,no message"/>
                   <xs:enumeration value="continue,message"/>
                   <xs:enumeration value="continue,no message"/>
               </xs:restriction>
           </xs:simpleType>
           
        • title
          String title
          The title of this item providing a descriptive label for the learning object.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004Organization

      class Scorm2004Organization extends Object implements Serializable
      • Serialized Fields

        • identifier
          String identifier
          The unique identifier for this organization, used to distinguish it from other organizations within the same manifest.
        • items
          List<Scorm2004Item> items
          A list of items within this organization, representing a hierarchical structure of learning objects.
        • metadata
          Scorm2004SubMetadata metadata
          Metadata associated with this organization, providing details such as creation date, and other descriptive information relevant to the organization.
        • objectivesGlobalToSystem
          boolean objectivesGlobalToSystem
          The default for the adlcp:objectivesGlobalToSystem attribute for items in this organization. If true, objectives defined in this organization are considered global to the system. If false, objectives are considered local to the organization.
        • sequencing
          Sequencing sequencing
          The sequencing element for this organization, defining control modes, delivery controls, and sequencing rules.
        • sharedDataGlobalToSystem
          boolean sharedDataGlobalToSystem
          The default for the adlcp:sharedDataGlobalToSystem attribute for items in this organization. If true, "sharedData" defined in this organization is considered global to the system. If false, "sharedData" is considered local to the organization.
        • structure
          String structure
          The structure of this organization, defining the hierarchical arrangement of items within the organization. The structure is typically a tree-like arrangement of items, but is not typically used in any meaningful way.
        • title
          String title
          The title of this organization providing a descriptive label for the learning structure it represents.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004Organizations

      class Scorm2004Organizations extends Object implements Serializable
      • Serialized Fields

        • defaultOrganization
          String defaultOrganization
          The default organization identifier within the content package. Defines which organization to use if multiple organizations are present.
        • organizationList
          List<Scorm2004Organization> organizationList
          A list of organizations within the content package, each representing a structured hierarchy of learning items.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004Resource

      class Scorm2004Resource extends Object implements Serializable
      • Serialized Fields

        • base
          String base
          The base URL for all resources in the content package. This URL is used to resolve relative paths for resources.
        • dependencies
          List<Scorm2004Dependency> dependencies
          A list of dependencies that this resource requires. Dependencies define other resources that must be available for this resource to function correctly.
        • files
          List<Scorm2004File> files
          A list of files associated with this resource, representing the physical files that are part of the learning object.
        • href
          String href
          The URL or path to the main entry point file for this resource.
        • identifier
          String identifier
          The unique identifier for this resource, which allows it to be referenced by items.
        • metadata
          Scorm2004SubMetadata metadata
          Metadata associated with this resource, providing details such as author, creation date, and other descriptive information relevant to the resource.
        • scormType
          ScormType scormType
          Specifies the SCORM type (e.g., "sco" or "asset") to define if this resource is trackable or a static asset.
        • type
          String type
          Specifies the type of resource, such as "webcontent".
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004Resources

      class Scorm2004Resources extends Object implements Serializable
      • Serialized Fields

        • base
          String base
          The base URL for all resources in the content package. This URL is used to resolve relative paths for resources.
        • resourceList
          List<Scorm2004Resource> resourceList
          A list of resources in the content package, each representing a specific learning object or asset.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.cp.Scorm2004SubMetadata

      class Scorm2004SubMetadata extends Object implements Serializable
      • Serialized Fields

        • location
          String location
          The location of the external metadata file, referenced using the adlcp:location element.
        • lom
          LOM lom
          Inline metadata represented as a LOM element.
  • Package dev.jcputney.elearning.parser.input.scorm2004.ims.ss.objective

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.objective.Scorm2004Objective

      class Scorm2004Objective extends Object implements Serializable
      • Serialized Fields

        • mapInfo
          List<Scorm2004ObjectiveMapping> mapInfo
          A list of mappings to global objectives. These mappings associate this local objective with broader goals or learning objectives across multiple activities or sequences.

          Each mapping is represented by an instance of Scorm2004ObjectiveMapping, allowing control over whether specific aspects, such as satisfaction and measure, are shared between the local and global objectives.

        • minNormalizedMeasure
          Double minNormalizedMeasure
          The minimum normalized measure required to consider this objective as satisfied. This value represents the minimum level of achievement, typically as a decimal between 0 and 1, where 1.0 represents full satisfaction.

          If not specified, the objective may be satisfied based on other criteria or defaults.

        • objectiveID
          String objectiveID
          A unique identifier for the objective, provided as a URI. This identifier distinguishes the objective and allows it to be referenced in sequencing and navigation rules.
        • satisfiedByMeasure
          Boolean satisfiedByMeasure
          satisfiedByMeasure is a boolean value that indicates whether the objective is satisfied based on the measure value.

          If `true`, the objective is satisfied when the measure value is greater than or equal to the minNormalizedMeasure.

          If `false`, the objective is satisfied when the learner has completed the objective, regardless of the measure value.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.objective.Scorm2004ObjectiveMapping

      class Scorm2004ObjectiveMapping extends Object implements Serializable
      • Serialized Fields

        • readCompletionStatus
          boolean readCompletionStatus
          Specifies whether this local objective should read the completion status of the target global objective.

          When set to true, this objective reads the completion status from the target global objective, allowing the local objective to reflect the global completion status.

          This field was introduced in SCORM 2004 4th Edition.

          Defaults to true.

        • readNormalizedMeasure
          boolean readNormalizedMeasure
          Specifies whether this local objective should read the normalized measure (performance level) of the target global objective.

          When set to true, this objective reads the performance measure from the target global objective.

          Defaults to true.

        • readSatisfiedStatus
          boolean readSatisfiedStatus
          Specifies whether this local objective should read the satisfaction status of the target global objective.

          When set to true, this objective reads the satisfaction status from the target global objective, allowing the local objective to reflect the global status.

          Defaults to true.

        • targetObjectiveID
          String targetObjectiveID
          The unique identifier for the target global objective that this local objective is mapped to. This identifier is provided as a URI, linking the local objective to a broader learning goal.

          The targetObjectiveID must be specified as a URI to ensure it is unique and identifiable across the SCORM package.

        • writeCompletionStatus
          boolean writeCompletionStatus
          Specifies whether this local objective should write its completion status to the target global objective.

          When set to true, the completion status of this objective is shared with the target global objective, allowing the global objective to reflect this local objective's completion status.

          This field was introduced in SCORM 2004 4th Edition.

          Defaults to false.

        • writeNormalizedMeasure
          boolean writeNormalizedMeasure
          Specifies whether this local objective should write its normalized measure (performance level) to the target global objective.

          When set to true, the performance measure of this objective is shared with the target global objective.

          Defaults to false.

        • writeSatisfiedStatus
          boolean writeSatisfiedStatus
          Specifies whether this local objective should write its satisfaction status to the target global objective.

          When set to true, the satisfaction status of this objective is shared with the target global objective, allowing the global objective to reflect this local objective’s satisfaction.

          Defaults to false.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.objective.Scorm2004Objectives

      class Scorm2004Objectives extends Object implements Serializable
      • Serialized Fields

        • objectiveList
          List<Scorm2004Objective> objectiveList
          A list of additional objectives for the activity. These objectives may serve as supplementary goals that are tracked but do not necessarily affect the rollup of progress or satisfaction.

          Each objective in this list is represented by an instance of Scorm2004Objective, allowing for fine-grained tracking and evaluation of learner performance.

        • primaryObjective
          Scorm2004Objective primaryObjective
          The primary objective of the activity. This objective typically contributes to the rollup of progress and satisfaction for the activity, affecting the learner’s overall progress in the sequence.

          The primary objective is usually a required learning goal that must be achieved to consider the activity successfully completed.

  • Package dev.jcputney.elearning.parser.input.scorm2004.ims.ss.random

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.random.RandomizationControls

      class RandomizationControls extends Object implements Serializable
      • Serialized Fields

        • randomizationTiming
          RandomizationTiming randomizationTiming
          Specifies when randomization of child activities should occur. Possible values include:
          • NEVER: No randomization is applied.
          • ONCE: Randomization occurs only once, typically on the first attempt.
          • ON_EACH_NEW_ATTEMPT: Randomization occurs each time the learner makes a new attempt.
        • reorderChildren
          boolean reorderChildren
          Indicates whether the order of child activities within the sequence can be changed. When set to true, the child activities are allowed to be reordered, typically as part of a randomization or shuffling process.

          This attribute enables instructional designers to create a more varied learning experience by rearranging the sequence of activities, especially useful in assessment scenarios where question order needs to be shuffled.

          Defaults to false.

        • selectCount
          Integer selectCount
          Specifies the number of child activities to be selected from the available set. This attribute enables partial selection from a larger pool, allowing only a subset of activities to be presented to the learner.

          If selectCount is not specified, all available child activities are presented. When specified, the system selects the given number of child activities at random based on the other randomization settings.

        • selectionTiming
          RandomizationTiming selectionTiming
          Specifies the timing of selection for child activities within the sequence.
  • Package dev.jcputney.elearning.parser.input.scorm2004.ims.ss.rollup

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.rollup.RollupAction

      class RollupAction extends Object implements Serializable
      • Serialized Fields

        • action
          RollupActionType action
          Specifies the action to be taken for this rollup rule when the conditions are met. Possible values include:
          • SATISFIED: Marks the activity as satisfied.
          • NOT_SATISFIED: Marks the activity as not satisfied.
          • COMPLETED: Marks the activity as completed.
          • INCOMPLETE: Marks the activity as incomplete.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.rollup.RollupCondition

      class RollupCondition extends Object implements Serializable
      • Serialized Fields

        • condition
          RollupRuleConditionType condition
          Specifies the specific condition being evaluated in this rollup condition. The condition may include criteria related to the learner's progress or completion status of activities.
        • operator
          ConditionOperatorType operator
          Specifies the operator to use when evaluating the rollup condition. Possible values include:
          • NOT: Inverts the evaluation result of the condition.
          • NO_OP: Applies the condition as-is, without modification.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.rollup.RollupConditions

      class RollupConditions extends Object implements Serializable
      • Serialized Fields

        • conditionCombination
          String conditionCombination
          The logic used to combine the conditions in rollupConditionList. Possible values are:
          • all: All conditions must be met for the rollup rule to apply.
          • any: At least one condition must be met for the rollup rule to apply.

          Defaults to any if not specified.

        • rollupConditionList
          List<RollupCondition> rollupConditionList
          A list of individual rollup conditions. Each condition specifies a criterion, such as completion or satisfaction, that must be met for the rollup rule to apply.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.rollup.RollupRule

      class RollupRule extends Object implements Serializable
      • Serialized Fields

        • childActivitySet
          ChildActivitySet childActivitySet
          Specifies the set of child activities to consider when evaluating this rollup rule. This attribute controls whether the rollup rule should apply to all child activities, any child activity, none, or a specific count or percentage.
        • minimumCount
          int minimumCount
          Specifies the minimum number of child activities that must meet the rollup conditions for this rule to apply. This attribute is only relevant when childActivitySet is set to atLeastCount.

          Defaults to 0.

        • minimumPercent
          PercentType minimumPercent
          Specifies the minimum percentage of child activities that must meet the rollup conditions for this rule to apply. This attribute is only relevant when childActivitySet is set to atLeastPercent.

          Defaults to 0.0 and is represented as a decimal between 0 and 1.

        • rollupAction
          RollupAction rollupAction
          The action to perform if the rule’s conditions are met. The rollup action determines how the child activities' statuses impact the parent activity’s rollup status, such as marking the parent as completed or satisfied.
        • rollupConditions
          RollupConditions rollupConditions
          The conditions that must be met for the rollup rule to apply. These conditions specify criteria such as completion status, satisfaction status, or other properties of the child activities that control whether the rollup action should occur.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.rollup.RollupRules

      class RollupRules extends Object implements Serializable
      • Serialized Fields

        • objectiveMeasureWeight
          double objectiveMeasureWeight
          Specifies the weighting applied to the measure of each child activity’s objective when determining the rollup satisfaction of the parent activity. This value allows each child activity to contribute to the parent’s satisfaction based on a weighted score, rather than a simple average or completion count.

          Defaults to 1.0 and is represented as a decimal between 0 and 1.

        • rollupObjectiveSatisfied
          boolean rollupObjectiveSatisfied
          Indicates whether the objective satisfaction status of the parent activity should be based on the rollup of its child activities' statuses. When set to true, the parent activity’s objective satisfaction depends on the rollup logic defined in the child activities.

          Defaults to true.

        • rollupProgressCompletion
          boolean rollupProgressCompletion
          Indicates whether the progress completion status of the parent activity should be based on the rollup of its child activities' completion statuses. When set to true, the parent activity’s progress completion depends on the rollup logic defined in the child activities.

          Defaults to true.

        • rollupRuleList
          List<RollupRule> rollupRuleList
          A list of individual rollup rules that define specific conditions and actions for aggregating completion and satisfaction statuses from child activities. Each rollup rule specifies conditions under which the rule applies and an action to perform when the conditions are met.
  • Package dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.AuxiliaryResource

      class AuxiliaryResource extends Object implements Serializable
      • Serialized Fields

        • auxiliaryResourceID
          String auxiliaryResourceID
          A unique identifier for the auxiliary resource, provided as a URI. This identifier links the resource with its intended purpose and distinguishes it from other resources.

          The auxiliaryResourceID must be specified as a URI (Uniform Resource Identifier).

        • purpose
          String purpose
          Describes the purpose of the auxiliary resource. This attribute provides context for how the resource is intended to support the learning activity, such as "reference material," "practice tool," or "additional reading."

          This attribute is required and provides instructional designers with a way to clarify the intended use of the auxiliary resource for both learners and educators.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.AuxiliaryResources

      class AuxiliaryResources extends Object implements Serializable
      • Serialized Fields

        • auxiliaryResourceList
          List<AuxiliaryResource> auxiliaryResourceList
          A list of auxiliary resources associated with the learning activity. Each resource provides additional, optional content for the learner and is represented by an instance of AuxiliaryResource.

          If no auxiliary resources are defined, this list may be empty.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.ControlMode

      class ControlMode extends Object implements Serializable
      • Serialized Fields

        • choice
          boolean choice
          Indicates whether the learner is allowed to freely navigate between available activities in this sequence. When set to true, the learner can select any activity in the content structure; otherwise, navigation is restricted.

          Defaults to true.

        • choiceExit
          boolean choiceExit
          Indicates whether the learner is allowed to exit from an activity and return to a previously accessed one. When set to true, the learner can exit and reselect previously visited activities.

          Defaults to true.

        • flow
          boolean flow
          Enables linear or sequential navigation through activities in the sequence. When set to true, the learner is required to progress sequentially through the activities, typically by selecting "next" options. If set to false, the learner is not restricted to sequential navigation.

          Defaults to false.

        • forwardOnly
          boolean forwardOnly
          Restricts the learner to only moving forward through the activities without being allowed to go back. When set to true, the learner cannot revisit previously accessed activities within the same attempt. If set to false, the learner may navigate backward if choice or flow allows.

          Defaults to false.

        • useCurrentAttemptObjectiveInfo
          boolean useCurrentAttemptObjectiveInfo
          Indicates whether the current attempt's objective information is used in sequencing decisions. When set to true, the system uses information about objectives completed within the current attempt to control sequencing behavior.

          Defaults to true.

        • useCurrentAttemptProgressInfo
          boolean useCurrentAttemptProgressInfo
          Indicates whether the current attempt's progress information is used in sequencing decisions. When set to true, the system uses information about progress made within the current attempt to control sequencing behavior.

          Defaults to true.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.DeliveryControls

      class DeliveryControls extends Object implements Serializable
      • Serialized Fields

        • completionSetByContent
          boolean completionSetByContent
          Indicates whether the content should set the activity's completion status. When set to true, the content is responsible for determining when the activity is marked as complete, based on its internal logic or learner actions.

          This attribute is useful for activities that require specific criteria to be met for completion, such as finishing a quiz, reading all content, or reaching a target score. The LMS relies on the content's status information to update the completion status.

          Defaults to false.

        • objectiveSetByContent
          boolean objectiveSetByContent
          Specifies whether the content should set the objective satisfaction status for this activity. When set to true, the content determines whether objectives are satisfied based on learner performance or other criteria.

          This attribute is typically used for activities where the content tracks and reports objective achievements, such as mastery of a topic or passing a test. The LMS uses this data to update the learner’s objective satisfaction status.

          Defaults to false.

        • tracked
          boolean tracked
          Specifies whether the learner's progress in this activity should be tracked. When set to true, tracking information is recorded, which may include data on completion, time spent, and other progress metrics.

          This attribute is typically used to enable or turn off progress tracking at the activity level, depending on whether the activity contributes to the overall progress rollup.

          Defaults to true.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.LimitConditions

      class LimitConditions extends Object implements Serializable
      • Serialized Fields

        • activityAbsoluteDurationLimit
          Duration activityAbsoluteDurationLimit
          The absolute duration limit for the entire activity, represented as an ISO 8601 duration. This limit defines the maximum allowable time for the activity across all attempts.

          Once this duration is reached, the activity may be marked as complete, regardless of the attempt status.

          Represented as a Duration parsed from an ISO 8601 string.

        • activityExperiencedDurationLimit
          Duration activityExperiencedDurationLimit
          The experienced duration limit for the activity, represented as an ISO 8601 duration. This duration measures the active time spent on the activity across all attempts, excluding idle time.

          If the learner's total active time on the activity exceeds this limit, the LMS may enforce completion or restrict access.

          Represented as a Duration parsed from an ISO 8601 string.

        • attemptAbsoluteDurationLimit
          Duration attemptAbsoluteDurationLimit
          The absolute duration limit for an attempt, represented as an ISO 8601 duration (e.g., "PT30M" for 30 minutes). This attribute defines the maximum allowable time for a single attempt on the activity.

          If exceeded, the attempt may be automatically completed or terminated, depending on the LMS behavior.

          Represented as a Duration parsed from an ISO 8601 string.

        • attemptExperiencedDurationLimit
          Duration attemptExperiencedDurationLimit
          The experienced duration limit for an attempt, represented as an ISO 8601 duration. This duration measures the time actively spent by the learner on the activity, excluding idle or paused time.

          If this limit is exceeded, the LMS may mark the attempt as complete or restrict further interaction.

          Represented as a Duration parsed from an ISO 8601 string.

        • attemptLimit
          Integer attemptLimit
          The maximum number of attempts allowed for the learner on this activity. When the attempt limit is reached, the learner will no longer be able to access the activity.

          If not specified, no limit is applied, and the learner may attempt the activity an unlimited number of times.

        • beginTimeLimit
          Instant beginTimeLimit
          Specifies a start time for the activity as an ISO 8601 date-time (e.g., "2024-11-13T09:00:00Z"). This attribute defines the earliest time at which the learner can begin interacting with the activity.

          If the current time is before this start time, the activity is not accessible to the learner.

          Represented as an Instant parsed from an ISO 8601 string.

        • endTimeLimit
          Instant endTimeLimit
          Specifies an end time for the activity as an ISO 8601 date-time. This attribute defines the latest time at which the learner can interact with the activity.

          Once the end time is reached, the activity becomes unavailable to the learner, regardless of completion status.

          Represented as an Instant parsed from an ISO 8601 string.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.RuleAction

      class RuleAction extends Object implements Serializable
      • Serialized Fields

        • action
          String action
          The action to be taken if the conditions are met. Possible actions include:
          • skip: Skip the activity and proceed to the next available activity.
          • disabled: Disable the activity, making it unavailable to the learner.
          • hiddenFromChoice: Hide the activity from the learner's choice menu.
          • stopForwardTraversal: Prevent the learner from progressing forward beyond the activity.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.RuleCondition

      class RuleCondition extends Object implements Serializable
      • Serialized Fields

        • condition
          SequencingRuleConditionType condition
          Specifies the condition evaluated for this rule. The condition can include criteria such as "satisfied", "completed", "attempted", or other learning activity states.
        • measureThreshold
          MeasureType measureThreshold
          The minimum measure threshold for the objective. This value indicates the level of achievement required for the condition to be met, typically represented as a decimal.
        • operator
          ConditionOperatorType operator
          Specifies the operator to use when evaluating the rule condition. Possible values are:
          • NOT: Inverts the result of the condition.
          • NO_OP: Applies the condition as-is.
        • referencedObjective
          String referencedObjective
          The identifier of a specific objective to which this condition applies. This attribute references an objective that must meet the specified condition.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.RuleConditions

      class RuleConditions extends Object implements Serializable
      • Serialized Fields

        • conditionCombination
          ConditionCombinationType conditionCombination
          Specifies the combination type for conditions in this rollup rule. Determines whether all conditions must be met ("all") or if any single condition is sufficient ("any").
        • ruleConditionList
          List<RuleCondition> ruleConditionList
          A list of individual rule conditions. Each condition specifies a criterion, such as an objective being completed, that must be met for the rule's action to apply.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.Sequencing

      class Sequencing extends Object implements Serializable
      • Serialized Fields

        • adlObjectives
          Scorm2004Objectives adlObjectives
          The ADL objectives for this sequencing element.
        • auxiliaryResources
          AuxiliaryResources auxiliaryResources
          Auxiliary resources that provide external resources associated with the learning objects.
        • constrainChoiceConsiderations
          ConstrainChoiceConsiderations constrainChoiceConsiderations
          The constrained choice considerations element, which contains attributes to define choice and activation restrictions.
        • controlMode
          ControlMode controlMode
          Control modes that specify the navigation options available to the learner.
        • deliveryControls
          DeliveryControls deliveryControls
          Delivery controls that determine how the content's completion and objectives are set based on the learner's progress.
        • id
          String id
          Identifier for this sequencing definition, required when stored in a sequencing collection.
        • idRef
          String idRef
          Reference to a shared sequencing definition defined elsewhere in the document.
        • limitConditions
          LimitConditions limitConditions
          Defines limitations on the number of attempts, time limits, and duration constraints.
        • objectives
          Scorm2004Objectives objectives
          Defines learning objectives for this activity, including primary objectives that contribute to rollup and additional objectives.
        • randomizationControls
          RandomizationControls randomizationControls
          Controls the randomization of child activities within a sequence.
        • rollupConsiderations
          RollupConsiderations rollupConsiderations
          The constrained choice considerations element, which contains attributes to define choice and activation restrictions.
        • rollupRules
          RollupRules rollupRules
          Rules governing the rollup of objectives and completion status for this activity.
        • sequencingRules
          SequencingRules sequencingRules
          Sequencing rules that apply conditions for enabling, disabling, hiding, or skipping content based on learner progress.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.SequencingCollection

      class SequencingCollection extends Object implements Serializable
      • Serialized Fields

        • sequencingList
          List<Sequencing> sequencingList
          A list of Sequencing elements within the sequencing collection. Each sequencing element defines navigation, rollup, and tracking settings for a specific set of learning activities.

          These sequencing definitions are used by the LMS to control the flow of activities, based on rules defined for completion, satisfaction, and objectives.

    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.SequencingRule

      class SequencingRule extends Object implements Serializable
      • Serialized Fields

        • ruleAction
          RuleAction ruleAction
          The action to perform if the rule's conditions are met. Actions control the sequencing behavior, such as enabling, disabling, or hiding an activity, or advancing to the next activity.
        • ruleConditions
          RuleConditions ruleConditions
          The conditions that must be met for the rule to apply. These conditions specify criteria such as activity completion status, attempt count, or objective status that control whether the rule's action should be executed.
    • Class dev.jcputney.elearning.parser.input.scorm2004.ims.ss.sequencing.SequencingRules

      class SequencingRules extends Object implements Serializable
      • Serialized Fields

        • exitConditionRules
          List<SequencingRule> exitConditionRules
          A list of exit-condition rules that are evaluated when the learner exits an activity. These rules define actions that control sequencing upon exit, such as retrying the current activity, proceeding to the next activity, or exiting the sequence entirely.
        • postConditionRules
          List<SequencingRule> postConditionRules
          A list of post-condition rules that are evaluated after an activity has been attempted. These rules can specify actions like skipping certain activities, marking an activity as complete, or determining if subsequent activities should be enabled.
        • preConditionRules
          List<SequencingRule> preConditionRules
          A list of pre-condition rules that are evaluated before an activity is attempted. These rules can be used to enable, disable, or hide an activity based on specific conditions, such as the completion status of previous activities.
  • Package dev.jcputney.elearning.parser.input.scorm2004.ims.ss.types

  • Package dev.jcputney.elearning.parser.input.scorm2004.sequencing

  • Package dev.jcputney.elearning.parser.input.xapi.tincan

  • Package dev.jcputney.elearning.parser.input.xapi.types

  • Package dev.jcputney.elearning.parser.output

    • Class dev.jcputney.elearning.parser.output.ModuleMetadata

      class ModuleMetadata extends Object implements Serializable
      • Serialized Fields

        • manifest
          M extends PackageManifest manifest
          The package manifest for the module.
        • moduleEditionType
          ModuleEditionType moduleEditionType
          The specific edition type of the module, including SCORM 2004 edition information.
        • moduleType
          ModuleType moduleType
          The type of the module (for example, SCORM, AICC, cmi5).
        • sizeOnDisk
          long sizeOnDisk
          The total size of all files in the module in bytes. A value of -1 indicates the size is not available.
        • xapiEnabled
          boolean xapiEnabled
          Indicates whether xAPI is enabled for the module.
  • Package dev.jcputney.elearning.parser.output.metadata

  • Package dev.jcputney.elearning.parser.output.metadata.aicc

    • Class dev.jcputney.elearning.parser.output.metadata.aicc.AiccMetadata

      class AiccMetadata extends BaseModuleMetadata<AiccManifest> implements Serializable
      • Serialized Fields

        • assignableUnitChildren
          Map<String,List<String>> assignableUnitChildren
          A map that associates a unique identifier of an assignable unit (as a string) with a list of its child identifiers. The map preserves the insertion order of the entries.

          This data structure is used to manage and organize relationships between parent and child units, where each parent unit can have multiple children. The keys represent the parent units, and the values are lists containing the identifiers of the corresponding child units.

        • assignableUnitIds
          List<String> assignableUnitIds
          A list that holds the IDs of units that can be assigned. This list is immutable after initialization, ensuring that the IDs once added cannot be modified or removed.
        • assignableUnitNames
          List<String> assignableUnitNames
          A list of unit names that can be assigned for a specific purpose or function. This list is immutable, ensuring that the references cannot be reassigned.
        • manifestFile
          String manifestFile
          The filename of the AICC course (.crs) file discovered during parsing. AICC allows the .crs file to have any name, so this is determined at parse time.
        • objectiveIds
          List<String> objectiveIds
          A list of objective identifiers.

          This variable stores a collection of unique string identifiers representing specific objectives. These identifiers are used to reference and manage objectives throughout the application. Once initialized, this list cannot be reassigned due to being declared as final.

        • objectiveMetadata
          List<AiccObjectiveMetadata> objectiveMetadata
          A list that holds instances of AiccObjectiveMetadata, representing metadata associated with AICC objectives. This list is immutable and cannot be modified directly after initialization.
        • objectivesByAu
          Map<String,List<String>> objectivesByAu
          A map that associates a string key representing an "Au" (likely indicating a specific entity or identifier) with a list of objectives represented as strings. The map maintains the order of insertion due to the usage of LinkedHashMap.

          This variable is defined as final, meaning its reference cannot be reassigned. However, contents within the map (e.g., entries, values) can still be modified if not explicitly handled otherwise.

        • objectivesRelationCount
          Integer objectivesRelationCount
          Represents the count of relationships or associations between objectives. This variable stores the number of links or dependencies that exist among the defined objectives in a specific context.
        • parsedPrerequisites
          List<AiccPrerequisite> parsedPrerequisites
          A list containing parsed prerequisites for a course or module. This represents the prerequisites parsed from an AICC (Aviation Industry Computer-Based Training Committee) format, encapsulated as instances of AiccPrerequisite.

          The list is immutable once initialized, as it is declared as a final field. Any modifications to the elements or structure of this list should be handled by modifying its contents directly.

        • prerequisitesEdgeCount
          Integer prerequisitesEdgeCount
          Represents the count of edges in a graph that signify prerequisites in the context of a task, course, or process dependency structure. This variable typically stores the number of directed edges in a directed acyclic graph (DAG) representing prerequisite relationships.
        • prerequisitesGraph
          Map<String,List<String>> prerequisitesGraph
          A data structure to represent a graph where the keys are course names and the values are lists of course prerequisites for the respective key.

          This graph uses a LinkedHashMap to maintain the insertion order of courses, ensuring predictable traversal order.

          The keys in the map represent a course, and the associated value is a list of strings, each string being the name of a prerequisite course.

        • requiresLevel2
          boolean requiresLevel2
          A boolean variable indicating whether Level 2 is required. This flag determines if certain operations, features, or conditions depend on the activation or inclusion of Level 2 functionality.
        • requiresLevel3
          boolean requiresLevel3
          Indicates whether the current operation or feature requires Level 3 access. This flag determines if a higher level of authorization or privileges is needed.
        • requiresLevel4
          boolean requiresLevel4
          Indicates whether Level 4 is required for the current operation or condition.

          This variable is a flag that determines if the process, task, or feature must adhere to or operate under Level 4 requirements. When set to true, Level 4 is necessary; otherwise, it is not required.

    • Class dev.jcputney.elearning.parser.output.metadata.aicc.AiccObjectiveMetadata

      class AiccObjectiveMetadata extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • associatedAuIds
          List<String> associatedAuIds
          A list of assignable unit (AU) identifiers associated with the current objective metadata. These identifiers represent distinct assignable units that are linked to the objective, providing a way to establish relationships between the objective and specific components of a learning or training module.
        • description
          String description
          A text description providing additional details about the objective metadata. This description can be used to clarify or elaborate on the purpose or nature of the associated objective.
        • id
          String id
          The unique identifier for the objective metadata.
        • minNormalizedMeasure
          Double minNormalizedMeasure
          Represents the minimum normalized measure associated with the objective. This value is used to determine the threshold for satisfying the associated objective based on progress or performance measures. A null value indicates that there is no minimum threshold requirement.
        • progressMeasureWeight
          Double progressMeasureWeight
          Represents the weight assigned to the progress measure for an objective within the AICC metadata. This value is used to determine the significance of the progress measure when evaluating the overall objective status or performance.

          The value is immutable and is initialized upon the creation of an instance of AiccObjectiveMetadata. A non-null value is expected to indicate a valid weight for the progress measure.

        • satisfiedByMeasure
          Boolean satisfiedByMeasure
          Indicates whether the objective satisfaction is determined by a specific measure. This field represents a boolean value that defines if the objective is considered satisfied based on its associated performance measures or criteria.
        • statusMap
          Map<String,String> statusMap
          A map that represents the status information of objectives within an AICC (Aviation Industry CBT Committee) context. Each key in the map corresponds to a specific objective identifier, while the value represents the associated status as a string.
    • Class dev.jcputney.elearning.parser.output.metadata.aicc.AiccPrerequisite

      class AiccPrerequisite extends Object implements Serializable
      serialVersionUID:
      1L
      • Serialized Fields

        • assignableUnitId
          String assignableUnitId
          Represents the unique identifier of the assignable unit associated with the prerequisite. This identifier is used to reference a specific assignable unit within a set of prerequisites and conditions. It is immutable once set.
        • completionCriteria
          AiccCompletionCriteria completionCriteria
          Stores the completion criteria for an AICC-based training module. This variable holds an instance of AiccCompletionCriteria, which defines the rules and attributes necessary to determine whether a training module has been successfully completed.

          Used within the AiccPrerequisite class to associate prerequisite rules with specific completion criteria. It encapsulates properties such as completion actions, lesson status, result status, and custom rules defined in an AiccCompletionCriteria object.

          Being a final field, it ensures the immutability of the reference once initialized.

        • expression
          AiccPrerequisiteExpression expression
          Represents a parsed and evaluated prerequisite expression associated with an AICC course. This field encapsulates the logical structure and content of a prerequisite condition, enabling validation and evaluation of course prerequisites.

          The expression is derived from the raw prerequisite string provided in the AICC course configuration. It includes parsed tokens, postfix representations, and an abstract syntax tree (AST) to support execution functions such as prerequisite verification.

          This field is immutable and thread-safe, ensuring the integrity of the data it represents.

        • mandatory
          boolean mandatory
          Indicates whether the prerequisite condition is mandatory. A value of true means the prerequisite condition must be met. A value of false allows the prerequisite condition to be optional.
        • optionalAuIds
          List<String> optionalAuIds
          A list of optional assignable unit identifiers associated with the prerequisite. This list contains the IDs of assignable units that are not required for completion but may play a role in the prerequisite logic or conditions.

          This field is immutable and is populated during the instantiation of the AiccPrerequisite object.

        • postfixTokens
          List<String> postfixTokens
          A list of string values representing the postfix tokens for the prerequisite expression. These tokens are used to evaluate the logical or mathematical structure of the prerequisite in postfix notation. The list is immutable, ensuring the integrity of the tokens throughout the lifecycle of the object.
        • rawExpression
          String rawExpression
          Represents the original, unprocessed prerequisite expression in string format. This expression defines the conditions under which the associated assignable unit is considered as meeting its prerequisites.

          It is stored as provided, without interpretation or transformation.

        • referencedAuIds
          List<String> referencedAuIds
          A list of strings representing the IDs of referenced assignable units (AU) that are prerequisites for this AICC (Aviation Industry Computer-Based Training Committee) structure. Each ID in this list denotes an AU that must be met or completed as a condition in the prerequisite evaluation.

          This field is immutable and provides a way to track or reference specific AUs required for achieving a prerequisite setup for the AICC configuration.

        • tokens
          List<String> tokens
          Represents a list of token strings associated with the AICC prerequisite configuration. The tokens are used to define or process prerequisite rules in textual format. This field is immutable and cannot be modified after assignment.
  • Package dev.jcputney.elearning.parser.output.metadata.cmi5

    • Class dev.jcputney.elearning.parser.output.metadata.cmi5.Cmi5Metadata

      class Cmi5Metadata extends BaseModuleMetadata<Cmi5Manifest> implements Serializable
      • Serialized Fields

        • activityTypes
          Map<String,String> activityTypes
          A map representing the activity types associated with the metadata. Each activity type is defined as a key-value pair, where the key is a unique identifier for the activity type, and the value is a human-readable description of the activity type.

          This field is intended to store metadata that categorizes and identifies specific types of activities within the system, providing a means to distinguish between different activity types and their purpose.

          The map is initialized as an empty HashMap and can be populated during the metadata extraction or creation process.

        • assignableUnitIds
          List<String> assignableUnitIds
          A list of IDs representing assignable units within the Cmi5 metadata. Each assignable unit corresponds to a specific learning activity or module that can be assigned and tracked within a Cmi5-compliant system. This variable is immutable and is initialized to an empty list by default.
        • assignableUnitUrls
          List<String> assignableUnitUrls
          A list of URLs associated with assignable units in the CMI5 metadata. This field is used to store the URLs of activity units (AUs) extracted from the CMI5 manifest or provided metadata. It is populated with the URLs of assignable units during metadata extraction or processing.

          The URLs correspond to the locations where the assignable units are hosted or can be accessed. These URLs are typically used to identify and reference the specific AUs within the context of the metadata.

          This list is defined as final to ensure that the reference to the list does not change, but the contents of the list may still be modified during the metadata extraction process.

        • auDetails
          Map<String,Map<String,Object>> auDetails
          A map holding the details of assignable units (AUs) in the metadata. Each entry in the map is a key-value pair, where the key is a unique identifier for the assignable unit, and the value is another map containing detailed metadata for that assignable unit. The metadata may include details such as URLs, titles, descriptions, and other relevant attributes.
        • blockIds
          List<String> blockIds
          Holds a list of unique identifiers for blocks associated with the metadata. Block IDs are used to identify and organize blocks defined within the metadata structure. This list is immutable once initialized.
        • launchMethods
          Map<String,String> launchMethods
          A map that holds the launch methods associated with the metadata. Each entry in the map represents a key-value pair, where the key is a unique identifier and the value is the corresponding launch method information.

          This field is used to store and retrieve the launch method details tied to specific identifiable elements within the metadata. Launch methods indicate the mechanisms or formats through which the associated activity or resource can be initiated.

          This map is immutable and should be accessed using the appropriate getter method.

        • launchParameters
          Map<String,String> launchParameters
          A map that stores launch parameters associated with the metadata. Each entry in the map represents a key-value pair, where the key is a unique identifier for the launch parameter, and the value is the corresponding information or value for that parameter.

          This map is used to configure launch-related settings or attributes for assignable units or activities within the context of the CMI5 metadata. It is initialized as an empty map and populated as required during metadata processing or instantiation.

          The keys in this map represent parameter names, while the values provide specific details or configurations related to those parameters.

        • masteryScores
          Map<String,Double> masteryScores
          A mapping of assignable unit identifiers to their corresponding mastery scores. Each key in the map represents the unique identifier of an assignable unit, and its associated value represents the mastery score as a double.

          This data structure is used to store the mastery thresholds required for successful completion of the corresponding assignable units. It allows for quick retrieval of proficiency levels required for each unit.

        • moveOnCriteria
          Map<String,String> moveOnCriteria
          Represents the mapping of move-on criteria for assignable units within the Cmi5 metadata. Each entry in this map associates the unique identifier of an assignable unit with its corresponding move-on criterion. The move-on criterion defines the conditions required for the learner to advance within a course or module.

          This field is immutable, ensuring the mapping remains constant after initialization.

        • objectiveIds
          List<String> objectiveIds
          A list of objective IDs associated with the metadata. Each objective ID represents a unique identifier for an objective defined within the metadata.
  • Package dev.jcputney.elearning.parser.output.metadata.scorm12

    • Class dev.jcputney.elearning.parser.output.metadata.scorm12.Scorm12Metadata

      class Scorm12Metadata extends BaseModuleMetadata<Scorm12Manifest> implements Serializable
      • Serialized Fields

        • customData
          Map<String,String> customData
          A map that stores custom data associated with SCORM 1.2 metadata. Keys represent identifiers for specific modules or items, and values contain the corresponding custom data.

          The map is initialized as a LinkedHashMap to maintain the order of entries as they are added. This ensures that the data maintains insertion-order consistency.

          This field is immutable, and modifications are restricted to ensure the integrity of the custom metadata data structure throughout the lifecycle of the related Scorm12Metadata instance.

        • masteryScores
          Map<String,Double> masteryScores
          A map that stores the mastery scores for SCORM 1.2 learning modules. The map's keys represent the module identifiers, and the values represent the corresponding mastery scores required to achieve mastery for each module.

          This is initialized as a linked map to maintain the insertion order of module identifiers. The data is used primarily for tracking mastery requirements within the SCORM 1.2 metadata.

          The map is immutable outside the class and is utilized internally for metadata extraction and processing related to SCORM 1.2 item mastery.

        • prerequisites
          Map<String,String> prerequisites
          A map representing the prerequisites defined for various learning modules in the SCORM 1.2 metadata. The map is maintained in insertion order and uses module identifiers as keys and their prerequisite expressions as values. This map is populated during the metadata extraction process to establish dependencies among modules.
  • Package dev.jcputney.elearning.parser.output.metadata.scorm2004

    • Class dev.jcputney.elearning.parser.output.metadata.scorm2004.Scorm2004Metadata

      class Scorm2004Metadata extends BaseModuleMetadata<Scorm2004Manifest> implements Serializable
      • Serialized Fields

        • activityDeliveryControls
          Map<String,DeliveryControls> activityDeliveryControls
          A mapping of activity identifiers to their associated delivery controls. This map uses a LinkedHashMap to preserve the order of insertion, allowing for predictable iteration order.

          The keys in this map represent unique identifiers for specific activities, while the values correspond to DeliveryControls objects that define the delivery-related configurations for those activities.

        • completionThresholds
          Map<String,Map<String,Object>> completionThresholds
          A map that stores completion thresholds. The outer map uses a string as a key to categorize thresholds, while the inner map maps string keys to their respective threshold values, which are represented as generic objects.

          This structure allows for organizing and managing multiple thresholds under different categories or contexts, providing flexibility in defining and retrieving these thresholds as needed.

        • controlModes
          Map<String,Map<String,Boolean>> controlModes
          A nested map structure that represents control modes with a specific hierarchy. The outer map uses a string as the key to represent a top-level category or mode group. Each top-level key is associated with another map (inner map), where: - The key of the inner map is a string representing a specific sub-mode or sub-category. - The value of the inner map is a boolean indicating the state or activation of that specific sub-mode.

          This structure allows organizing control modes in a hierarchical way, enabling quick access and evaluation of mode states.

        • dataFromLms
          Map<String,String> dataFromLms
          A map that holds data retrieved from the LMS (Learning Management System). The map uses a String as the key and a String as the value. Keys and values are ordered as they are inserted, maintaining a predictable iteration order. This map is immutable once initialized due to being declared as final.
        • deliveryControlOverrides
          Set<String> deliveryControlOverrides
          A set containing delivery control override keys. This collection is used to manage specific delivery control configurations that need to deviate from standard settings. It ensures insertion order is preserved and prevents duplicate entries.
        • globalObjectiveIds
          Set<String> globalObjectiveIds
          A collection that holds unique identifiers for global objectives. The identifiers are stored in a LinkedHashSet to maintain insertion order while ensuring uniqueness.
        • hasSequencing
          boolean hasSequencing
          Indicates whether sequencing is enabled or present. This variable is used as a flag to determine if sequencing-related features or functionalities should be considered.
        • hideLmsUi
          Map<String,List<String>> hideLmsUi
          A mapping that determines the LMS (Learning Management System) UI elements to be hidden for specified criteria. The key represents a criteria string, and the value is a list of identifiers for UI elements that should be hidden under that criteria. The order of the mappings is preserved as it uses a LinkedHashMap.
        • sequencingIndicators
          List<String> sequencingIndicators
          A list that holds sequencing indicators represented as strings. This list is initialized as an empty ArrayList and is intended to store indicators used for sequencing purposes within the application. The contents of this list are immutable as it is declared final, which ensures that the reference to the list cannot be reassigned after initialization.
        • sequencingLevel
          SequencingUsageDetector.SequencingLevel sequencingLevel
          Represents the current sequencing level for a specific operation or process. The sequencing level determines the degree or mode of sequencing applied. Default value is set to SequencingLevel.NONE, indicating no sequencing.
        • timeLimitActions
          Map<String,String> timeLimitActions
          A map that associates specific action names (keys) with their corresponding time limit descriptions or identifiers (values). The LinkedHashMap ensures that the order of insertion is maintained when processing or iterating through the entries of the map. This is helpful when the sequence of actions and their timing constraints need to be preserved for business logic or execution policies.
  • Package dev.jcputney.elearning.parser.output.metadata.xapi