Class

org.apache.daffodil.processors.parsers

OccursCountExpressionParser

Related Doc: package parsers

Permalink

abstract class OccursCountExpressionParser extends RepeatingChildParser

Parser is for a non-scalar with a specific number of occurrences given by an occursCount expression.

There are no points-of-uncertainty (PoU).

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OccursCountExpressionParser
  2. RepeatingChildParser
  3. MinMaxRepeatsMixin
  4. SequenceChildParser
  5. CombinatorParser
  6. CombinatorProcessor
  7. Parser
  8. Processor
  9. Serializable
  10. Serializable
  11. Logging
  12. Identity
  13. ToBriefXMLImpl
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OccursCountExpressionParser(childParser: Parser, srd: SequenceRuntimeData, erd: ElementRuntimeData, occursCountEv: OccursCountEv)

    Permalink

Abstract Value Members

  1. abstract def childProcessors: Vector[Processor]

    Permalink
    Definition Classes
    ProcessorToBriefXMLImpl

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def PE(pstate: PState, s: String, args: Any*): Unit

    Permalink
    Definition Classes
    Parser
  5. def PENotEnoughBits(pstate: PState, neededBits: Long, remainingBits: MaybeULong): Unit

    Permalink
    Definition Classes
    Parser
  6. final def areLogging(lvl: Type): Boolean

    Permalink
    Definition Classes
    Logging
  7. def arrayIndexStatus(minRepeats: Long, maxRepeats: Long, pstate: PState, resultOfPriorTry: ParseAttemptStatus): ArrayIndexStatus

    Permalink

    Tells us whether to attempt another array element at the current index, and how we should interpret the existence of an element or empty/zero-length based on the array index.

    Tells us whether to attempt another array element at the current index, and how we should interpret the existence of an element or empty/zero-length based on the array index.

    NOTE: must be stateless. State must be passed in, and returned for assignment to a loop var, or held in pstate.

    Definition Classes
    RepeatingChildParser
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def briefXMLAttributes: String

    Permalink
    Attributes
    protected
    Definition Classes
    ToBriefXMLImpl
  10. val childParser: Parser

    Permalink
    Definition Classes
    SequenceChildParser
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. val context: RuntimeData

    Permalink
    Definition Classes
    CombinatorParserProcessor
  13. def doLogging(lvl: Type, msg: String, args: Seq[Any]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  14. def endArray(state: PState): Unit

    Permalink

    Do things that must be done at the end of an array.

    Do things that must be done at the end of an array.

    This applies to both variable-occurrence and fixed-occurrence array elements, as well as optional elements.

    This applies for optional elements as well because expressions can access them by way of index: e.g., fn:exists( optElement[dfdl:currentIndex()] )

    Definition Classes
    RepeatingChildParser
  15. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  17. val erd: ElementRuntimeData

    Permalink
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def getLogWriter(): LogWriter

    Permalink
    Definition Classes
    Logging
  21. final def getLoggingLevel(): Type

    Permalink
    Definition Classes
    Logging
  22. final def hasPoU: Boolean

    Permalink
  23. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def isBoundedMax(max: Long): Boolean

    Permalink
  25. def isEmpty: Boolean

    Permalink
    Definition Classes
    ParserProcessor
  26. var isInitialized: Boolean

    Permalink
    Definition Classes
    Processor
  27. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  28. final def isPrimitive: Boolean

    Permalink

    False because combinators don't touch the data stream themselves.

    False because combinators don't touch the data stream themselves. The processors they call do that work.

    Definition Classes
    CombinatorProcessorProcessor
  29. final macro def log(lvl: Type, msg: String, args: Any*): Unit

    Permalink
    Definition Classes
    Logging
  30. lazy val logID: String

    Permalink
    Definition Classes
    Logging → Identity
  31. var logLevel: Maybe[Type]

    Permalink
    Definition Classes
    Logging
  32. var logWriter: Maybe[LogWriter]

    Permalink
    Definition Classes
    Logging
  33. final def maxRepeats(pstate: ParseOrUnparseState): Long

    Permalink

    The digestion of maxOccurs with the occursCountKind results in maxRepeats.

    The digestion of maxOccurs with the occursCountKind results in maxRepeats. For example, when occursCountKind is parsed, then maxRepeats is -1 (meaning unbounded) regardless of the value of maxOccurs.

    Definition Classes
    OccursCountExpressionParserMinMaxRepeatsMixin
  34. final def minRepeats(pstate: ParseOrUnparseState): Long

    Permalink

    The digestion of minOccurs with the occursCountKind results in minRepeats.

    The digestion of minOccurs with the occursCountKind results in minRepeats. For example, when occursCountKind is parsed, then minRepeats is 0, regardless of the value of minOccurs.

    Definition Classes
    OccursCountExpressionParserMinMaxRepeatsMixin
  35. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  36. def nom: String

    Permalink
    Definition Classes
    ToBriefXMLImpl
  37. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  39. val occursCountEv: OccursCountEv

    Permalink
  40. def parse(pstate: PState): Unit

    Permalink

    Invokes the child parser.

    Invokes the child parser. Once, only. Does NOT do iterations of it.

    Attributes
    protected
    Definition Classes
    RepeatingChildParserParser
  41. final def parse1(pstate: PState): Unit

    Permalink
    Definition Classes
    Parser
  42. def parserName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Parser
  43. def processingError(state: PState, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    Parser
  44. final lazy val runtimeDependencies: Vector[OccursCountEv]

    Permalink
  45. def setLogWriter(lw: LogWriter): Unit

    Permalink
    Definition Classes
    Logging
  46. def setLoggingLevel(level: Type): Unit

    Permalink
    Definition Classes
    Logging
  47. val srd: SequenceRuntimeData

    Permalink
    Definition Classes
    SequenceChildParser
  48. def startArray(state: PState): Unit

    Permalink

    Do things that are done at the start of an array-element.

    Do things that are done at the start of an array-element.

    This applies to both variable-occurrence and fixed-occurrence array elements, as well as optional elements.

    This applies for optional elements as well because expressions can access them by way of index: e.g., fn:exists( optElement[dfdl:currentIndex()] )

    This makes more sense if you consider that an "optional" element (minOccurs 0, maxOccurs 1) when occursCountKind is 'parsed' is treated as an array with an unbounded number of possible occurrences. Similarly, if occursCountKind is 'expression', then minOccurs/maxOccurs are ignored (used only for validation), and there can be more than 1 occurrence.

    Definition Classes
    RepeatingChildParser
  49. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  50. def toBriefXML(depthLimit: Int = 1): String

    Permalink
    Definition Classes
    RepeatingChildParserToBriefXMLImpl
  51. def toString(): String

    Permalink
    Definition Classes
    RepeatingChildParserToBriefXMLImpl → AnyRef → Any
  52. val trd: TermRuntimeData

    Permalink
    Definition Classes
    SequenceChildParser
  53. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. macro def withLoggingLevel[S](newLevel: Type)(body: ⇒ S): Unit

    Permalink
    Definition Classes
    Logging

Inherited from RepeatingChildParser

Inherited from MinMaxRepeatsMixin

Inherited from SequenceChildParser

Inherited from CombinatorParser

Inherited from CombinatorProcessor

Inherited from Parser

Inherited from Processor

Inherited from Serializable

Inherited from Serializable

Inherited from Logging

Inherited from Identity

Inherited from ToBriefXMLImpl

Inherited from AnyRef

Inherited from Any

Ungrouped