Trait

org.apache.daffodil.dsom

LocalElementMixin

Related Doc: package dsom

Permalink

trait LocalElementMixin extends ParticleMixin with LocalElementGrammarMixin

Common to local element decls and element references

Self Type
ElementBase
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LocalElementMixin
  2. LocalElementGrammarMixin
  3. GrammarMixin
  4. ParticleMixin
  5. RequiredOptionalMixin
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def grammarContext: SchemaComponent

    Permalink

    For unit testing, we want to create GrammarMixin objects that are not schema components.

    For unit testing, we want to create GrammarMixin objects that are not schema components. So we can't use a self-type here. Instead we define this abstract grammarContext.

    Attributes
    protected
    Definition Classes
    GrammarMixin

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. val NYI: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    GrammarMixin
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final lazy val couldBeMissing: Boolean

    Permalink
  8. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def hasKnownRequiredSyntax: Boolean

    Permalink
  13. final def hasStaticallyRequiredOccurrencesInDataRepresentation: Boolean

    Permalink

    True if this term has statically required instances in the data stream.

    True if this term has statically required instances in the data stream.

    This excludes elements that have no representation e.g., elements with dfdl:inputValueCalc.

    Definition Classes
    ParticleMixin
  14. final lazy val hasStopValue: Boolean

    Permalink
    Definition Classes
    ParticleMixin
  15. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  16. final lazy val isArray: Boolean

    Permalink

    True if a "real" array, i.e., not an optional element, but something that can potentially have 2 or more occurrences based on maxOccurs and dfdl:occursCountKind that indicates whether maxOccurs will be respected.

    True if a "real" array, i.e., not an optional element, but something that can potentially have 2 or more occurrences based on maxOccurs and dfdl:occursCountKind that indicates whether maxOccurs will be respected.

    Definition Classes
    RequiredOptionalMixin
  17. final lazy val isArraywithAtLeastOneRequiredArrayElement: Boolean

    Permalink

    True if an array has at least one required element based on a minOccurs and a dfdl:occursCountKind that means that minOccurs will be respected.

    True if an array has at least one required element based on a minOccurs and a dfdl:occursCountKind that means that minOccurs will be respected.

    Definition Classes
    RequiredOptionalMixin
  18. final lazy val isContentRegionLengthKnownToBeGreaterThanZero: Boolean

    Permalink

    True if the length of the SimpleContent region or the ComplexContent region (see DFDL Spec section 9.2) is known to be greater than zero.

    True if the length of the SimpleContent region or the ComplexContent region (see DFDL Spec section 9.2) is known to be greater than zero.

    These content grammar regions are orthogonal to both nillable representations, and empty representations, and to all aspects of framing - alignment, skip, delimiters etc.

  19. final lazy val isFixedOccurrences: Boolean

    Permalink

    True if a recurring element has a fixed number of occurrences.

    True if a recurring element has a fixed number of occurrences.

    One way this can happen is dfdl:occursCountKind of 'fixed'.

    In the future, can be enhanced to take more situations into account. E.g., Another way something can be fixed number of occurrences is dfdl:occursCountKind='expression' where the expression is a constant, whether a manifest constant like '5', or an expression that happens to be shown, by the schema compiler, to be constant for this element. One such example would be if the expression is just the value of a variable for which there are no dfdl:setVariable statements possible, so it is guaranteed to have the default or an externally specified fixed number as its value.

    Definition Classes
    ParticleMixin
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. final lazy val isOptional: Boolean

    Permalink

    Distinguishes elements which have minOccurs 0, maxOccurs 1, and a dfdl:occursCountKind that means parsing/unparsing will respect these bounds.

    Distinguishes elements which have minOccurs 0, maxOccurs 1, and a dfdl:occursCountKind that means parsing/unparsing will respect these bounds.

    This enables implementations to use different, lighter weight, representations for optional elements (e.g., null or not null object reference) vs what is required for arrays (growable vector of slots).

    Definition Classes
    RequiredOptionalMixin
  22. final lazy val isRequiredStreamingUnparserEvent: Boolean

    Permalink

    True if the element is required to appear in the stream of unparser infoset events.

    True if the element is required to appear in the stream of unparser infoset events. False means appears "maybe", may or may not appear.

    This includes elements that have no representation in the data stream. That is, an element with dfdl:inputValueCalc will be isRequiredStreamingUnparserEvent true.

    All arrays/optionals are treated as not required because we tolerate invalidity of the data here.

    OutputValueCalc elements are treated as optional. If present they are supposed to get their values ignored and overwritten by the computation.

    Definition Classes
    RequiredOptionalMixin
  23. final lazy val isScalar: Boolean

    Permalink
    Definition Classes
    RequiredOptionalMixin
  24. final lazy val isVariableOccurrences: Boolean

    Permalink

    Can have a varying number of occurrences.

    Can have a varying number of occurrences.

    Can be used for any Term, e.g., returns false for model groups true for elements with potentially varying number of occurrences.

    Scalars are false here, as are fixed-length arrays.

    Differs from (isOptional || isArray) because that is true for fixed-length arrays, where this is false if they are fixed length.

    dfdl:occursCountKind is not part of this concept. So for example an element with occursCountKind='expression' has exactly the number of occurrences the expression value specifies. But this is considered varying as that element declaration may correspond to many arrays of data where the expression gives a different number of occurrences each time.

    Definition Classes
    ParticleMixin
  25. lazy val maxOccurs: Int

    Permalink
    Definition Classes
    ParticleMixinRequiredOptionalMixin
  26. lazy val minOccurs: Int

    Permalink
    Definition Classes
    ParticleMixinRequiredOptionalMixin
  27. final def mt: Gram

    Permalink
    Attributes
    protected
    Definition Classes
    GrammarMixin
  28. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  29. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  31. final lazy val optPoUMinOccurs: Option[Int]

    Permalink

    For an array or optional, defined if there is a PoU for the element, the defined value being the effective minOccurs value.

    For an array or optional, defined if there is a PoU for the element, the defined value being the effective minOccurs value.

    Definition Classes
    RequiredOptionalMixin
  32. def prod(prodName: String)(gram: ⇒ Gram): Gram

    Permalink

    Use when production has no guard, but you want to name the production anyway (for debug visibility perhaps).

    Use when production has no guard, but you want to name the production anyway (for debug visibility perhaps).

    Definition Classes
    GrammarMixin
  33. def prod(prodName: String, guard: Boolean = true, forWhat: ParserOrUnparser = BothParserAndUnparser)(gram: ⇒ Gram): Gram

    Permalink

    Use when production has a guard predicate

    Use when production has a guard predicate

    Definition Classes
    GrammarMixin
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  35. lazy val termContentBody: Gram

    Permalink
    Definition Classes
    LocalElementGrammarMixin
  36. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  37. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from LocalElementGrammarMixin

Inherited from GrammarMixin

Inherited from ParticleMixin

Inherited from RequiredOptionalMixin

Inherited from AnyRef

Inherited from Any

Ungrouped