Class

org.apache.daffodil.processors

Evaluatable

Related Doc: package processors

Permalink

abstract class Evaluatable[+T <: AnyRef] extends Serializable

Evaluatable - things that could be runtime-valued, but also could be compile-time constants are instances of Ev.

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Evaluatable
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Evaluatable(rd: RuntimeData, qNameArg: NamedQName = null)

    Permalink

Type Members

  1. type State = ParseOrUnparseState

    Permalink

Abstract Value Members

  1. abstract def compute(state: State): T

    Permalink
    Attributes
    protected
  2. abstract def getCachedOrComputeAndCache(state: State): T

    Permalink
    Attributes
    protected
  3. abstract def runtimeDependencies: Seq[Evaluatable[AnyRef]]

    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...)

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. 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[T]

    Permalink
  7. final def compile(state: CompileState): Maybe[T]

    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.

  8. final def constValue: T

    Permalink
    Annotations
    @inline()
  9. def dafName(local: String): GlobalQName

    Permalink

    Convenience method

    Convenience method

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

    Attributes
    protected
  10. final def ensureCompiled: Unit

    Permalink
    Annotations
    @inline()
  11. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def evaluate(state: State): T

    Permalink
  14. def finalize(): Unit

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

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

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

    Permalink
    Annotations
    @inline()
  18. final def isConstant: Boolean

    Permalink
    Annotations
    @inline()
  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. final def maybeConstant: Maybe[T]

    Permalink

    Preferred for use in the runtime.

    Preferred for use in the runtime.

    Annotations
    @inline()
  21. 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
  22. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  25. final def optConstant: Option[T]

    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.

    Annotations
    @inline()
  26. 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.

  27. val rd: RuntimeData

    Permalink
    Attributes
    protected
  28. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
  30. 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.

  31. def toSDE(e: Diagnostic, state: ParseOrUnparseState): Nothing

    Permalink
    Attributes
    protected
  32. def toString(): String

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

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

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

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

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped