Class

org.apache.daffodil.processors

UnparseTargetLengthInBitsEv

Related Doc: package processors

Permalink

class UnparseTargetLengthInBitsEv extends Evaluatable[MaybeJULong] with InfosetCachedEvaluatable[MaybeJULong]

Used for unparsing, to determine whether we have a target length from the dfdl:length property and Explicit length, or for fixed length from facets or textOutputMinLength.

Evaluates to Nope if variable-width encoding prevents computing the targetLengthInBits.

Nope does NOT MEAN the length cannot be computed yet. It means variable-width encoding prevents computing the target length in bits units.

Linear Supertypes
InfosetCachedEvaluatable[MaybeJULong], Evaluatable[MaybeJULong], Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UnparseTargetLengthInBitsEv
  2. InfosetCachedEvaluatable
  3. Evaluatable
  4. Serializable
  5. Serializable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new UnparseTargetLengthInBitsEv(lengthInBitsEv: LengthInBitsEv, minLengthInBitsEv: MinLengthInBitsEv, rd: ElementRuntimeData)

    Permalink

Type Members

  1. type State = ParseOrUnparseState

    Permalink
    Definition Classes
    Evaluatable

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. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def compile(): Maybe[MaybeJULong]

    Permalink
    Definition Classes
    Evaluatable
  7. final def compile(state: CompileState): Maybe[MaybeJULong]

    Permalink

    Compile an Ev to see if it is a constant at compilation time.

    Compile an Ev to see if it is a constant at compilation time. This is determined by actually evaluating it, passing a special CompileState that errors out when data access to runtime-valued data is attempted.

    Definition Classes
    Evaluatable
  8. def compute(state: ParseOrUnparseState): MaybeJULong

    Permalink

    Note: use of MaybeJULong type.

    Note: use of MaybeJULong type. New Maybe type added which can be stored in a generic data structure. (I.e., a MaybeJULong is an AnyRef, not an AnyVal like Long and MaybeULong).

    Ev values that are runtime dependent get stored in a generic cache of AnyRef values, so this gives us the benefits of a maybe object on top of the boxing that is required to store a number in in the cache.

    Attributes
    protected
    Definition Classes
    UnparseTargetLengthInBitsEvEvaluatable
  9. final def constValue: MaybeJULong

    Permalink
    Definition Classes
    Evaluatable
    Annotations
    @inline()
  10. def dafName(local: String): GlobalQName

    Permalink

    Convenience method

    Convenience method

    Use by way of override lazy val qName = dafName("foobar")

    Attributes
    protected
    Definition Classes
    Evaluatable
  11. final def ensureCompiled: Unit

    Permalink
    Definition Classes
    Evaluatable
    Annotations
    @inline()
  12. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def evaluate(state: State): MaybeJULong

    Permalink
    Definition Classes
    Evaluatable
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def getCachedOrComputeAndCache(state: State): MaybeJULong

    Permalink
    Attributes
    protected
    Definition Classes
    InfosetCachedEvaluatable
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def isCompiled: Boolean

    Permalink
    Definition Classes
    Evaluatable
    Annotations
    @inline()
  20. final def isConstant: Boolean

    Permalink
    Definition Classes
    Evaluatable
    Annotations
    @inline()
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. val lengthInBitsEv: LengthInBitsEv

    Permalink
  23. final def maybeConstant: Maybe[MaybeJULong]

    Permalink

    Preferred for use in the runtime.

    Preferred for use in the runtime.

    Definition Classes
    Evaluatable
    Annotations
    @inline()
  24. def maybeUseUnparserMode: Maybe[EvalMode]

    Permalink

    Override if this evaluatable needs to use a different evaluate mode for unparsing.

    Override if this evaluatable needs to use a different evaluate mode for unparsing.

    The only example of this (as of this comment being written) is LengthEv

    Attributes
    protected
    Definition Classes
    Evaluatable
  25. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  28. final def optConstant: Option[MaybeJULong]

    Permalink

    Schema compiler wants to use map call, so we need a scala option type for that.

    Schema compiler wants to use map call, so we need a scala option type for that. So this variant supplies that.

    Definition Classes
    Evaluatable
    Annotations
    @inline()
  29. lazy val qName: NamedQName

    Permalink

    QName to be associated with this evaluatable.

    QName to be associated with this evaluatable.

    If the Evaluatable is for a DFDL property this should be dfdl:propertyName e.g., dfdl:terminator, with the prefix DFDL being the prefix associated with the DFDL namespace.

    If the Evaluatable is for some other computation, e.g., for the CharsetEncoder. Then daf:encoder or other useful identifier.

    This QName is used in the XML representation of these Evaluatables, if they are to be displayed, which is mostly for various debug purposes.

    Definition Classes
    Evaluatable
  30. val rd: RuntimeData

    Permalink
    Attributes
    protected
    Definition Classes
    Evaluatable
  31. lazy val runtimeDependencies: List[LengthInBitsEvBase { def runtimeDependencies: List[org.apache.daffodil.processors.Evaluatable[java.io.Serializable]] }]

    Permalink

    Important - Evalutables MUST declare all evaluatables they depend on.

    Important - Evalutables MUST declare all evaluatables they depend on. But only those they directly depend on. (Not the dependents of the dependents...)

    Definition Classes
    UnparseTargetLengthInBitsEvEvaluatable
  32. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  33. def toBriefXML(depth: Int = 1): String

    Permalink
    Definition Classes
    Evaluatable
  34. def toPseudoXML(cache: EvalCache): String

    Permalink

    Creates an XML-like string representation.

    Creates an XML-like string representation.

    Looks like an attribute definition, but the value part may contain XML-element-like syntax. If so it is either escaped with CDATA bracketing (preferred), or if there are quotes in it, then it is escapified meaning " < etc.

    Avoids inserting single quotes (aka apos) so that those can be used surrounding this at a higher level.

    Definition Classes
    Evaluatable
  35. def toSDE(e: Diagnostic, state: ParseOrUnparseState): Nothing

    Permalink
    Attributes
    protected
    Definition Classes
    Evaluatable
  36. def toString(): String

    Permalink
    Definition Classes
    Evaluatable → 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 InfosetCachedEvaluatable[MaybeJULong]

Inherited from Evaluatable[MaybeJULong]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped