Class

org.apache.daffodil.dsom

DPathElementCompileInfo

Related Doc: package dsom

Permalink

class DPathElementCompileInfo extends DPathCompileInfo with HasSchemaFileLocation

This class is to contain only things that are needed to do DPath Expression Compilation. Nothing else.

This exists because some things have to be compiled (e.g., DPath expressions) which then become part of the runtime data for elements or other.

It becomes circular if all the information is bundled together on the RuntimeData or ElementRuntimeData objects. So we split out everything needed to compile expressions will get computed separately (first), and kept on this object, and then subsequently ERD data structures are created which reference these.

Linear Supertypes
DPathCompileInfo, HasSchemaFileLocation, LookupLocation, LocationInSchemaFile, ResolvesQNames, PreSerialization, Serializable, Serializable, ImplementsThrowsSDE, ThrowsSDE, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DPathElementCompileInfo
  2. DPathCompileInfo
  3. HasSchemaFileLocation
  4. LookupLocation
  5. LocationInSchemaFile
  6. ResolvesQNames
  7. PreSerialization
  8. Serializable
  9. Serializable
  10. ImplementsThrowsSDE
  11. ThrowsSDE
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DPathElementCompileInfo(parentArg: ⇒ Option[DPathCompileInfo], variableMap: ⇒ VariableMap, elementChildrenCompileInfoArg: ⇒ Seq[DPathElementCompileInfo], namespaces: NamespaceBinding, path: String, name: String, isArray: Boolean, namedQName: NamedQName, optPrimType: Option[PrimType], sfl: SchemaFileLocation, tunable: DaffodilTunables)

    Permalink

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 NoAnnotationContext: Option[SchemaFileLocation]

    Permalink
    Definition Classes
    ImplementsThrowsSDE
  5. def SDE(id: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ImplementsThrowsSDE → ThrowsSDE
  6. final def SDE(th: Throwable): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  7. def ThrowSDE: PartialFunction[Throwable, Nothing]

    Permalink
    Definition Classes
    ThrowsSDE
  8. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def columnDescription: String

    Permalink
    Definition Classes
    HasSchemaFileLocation → LocationInSchemaFile
  11. lazy val elementChildrenCompileInfo: Seq[DPathElementCompileInfo]

    Permalink
  12. final lazy val elementCompileInfo: Option[DPathElementCompileInfo]

    Permalink

    The contract here supports the semantics of "." in paths.

    The contract here supports the semantics of "." in paths.

    If this is an element we're done. If not we move outward until we reach an enclosing element.

    Definition Classes
    DPathCompileInfo
  13. final def enclosingElementCompileInfo: Option[DPathElementCompileInfo]

    Permalink

    The contract here supports the semantics of ".." in paths.

    The contract here supports the semantics of ".." in paths.

    First we establish the invariant of being on an element. If the schema component is an element we're there. Otherwise we move outward until we are an element. If there isn't one we return None

    Then we move outward to the enclosing element - and if there isn't one we return None. (Which most likely will lead to an SDE.)

    Definition Classes
    DPathCompileInfo
  14. final def enclosingElementPath: Seq[DPathElementCompileInfo]

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  17. def fileDescription: String

    Permalink
    Definition Classes
    HasSchemaFileLocation → LocationInSchemaFile
  18. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  19. final def findNamedChild(step: StepQName, expr: ImplementsThrowsOrSavesSDE): DPathElementCompileInfo

    Permalink

    Finds a child ERD that matches a StepQName.

    Finds a child ERD that matches a StepQName. This is for matching up path steps (for example) to their corresponding ERD.

    TODO: Must eventually change to support query-style expressions where there can be more than one such child.

  20. final def findRoot(step: StepQName, expr: ImplementsThrowsOrSavesSDE): DPathElementCompileInfo

    Permalink
  21. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  23. final lazy val immediateEnclosingCompileInfo: Option[DPathCompileInfo]

    Permalink

    The immediate containing parent.

    The immediate containing parent.

    Definition Classes
    DPathCompileInfo
  24. val isArray: Boolean

    Permalink
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. var isReferencedByExpressions: Boolean

    Permalink

    Stores whether or not this element is used in any path step expressions during schema compilation.

    Stores whether or not this element is used in any path step expressions during schema compilation. Note that this needs to be a var since its value is determined during DPath compilation, which requires that the DPathElementCompileInfo already exists. So this must be a mutable value that can be flipped during schema compilation.

    Note that in the case of multiple child element decls with the same name, we must make sure ALL of them get this var set.

    This is done on the Seq returned when findNameMatches is called.

  27. def lineDescription: String

    Permalink
    Definition Classes
    HasSchemaFileLocation → LocationInSchemaFile
  28. def locationDescription: String

    Permalink
    Definition Classes
    HasSchemaFileLocation → LocationInSchemaFile
  29. val me: Class[_ <: PreSerialization]

    Permalink
    Definition Classes
    PreSerialization
  30. val name: String

    Permalink
  31. val namedQName: NamedQName

    Permalink
  32. val namespaces: NamespaceBinding

    Permalink
    Definition Classes
    DPathCompileInfo → ResolvesQNames
  33. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  34. final def noMatchError(step: StepQName, possibles: Seq[DPathElementCompileInfo] = this.elementChildrenCompileInfo): Nothing

    Permalink

    Issues a good diagnostic with suggestions about near-misses on names like missing prefixes.

  35. final def notYetImplemented(msg: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  36. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  38. val optPrimType: Option[PrimType]

    Permalink
  39. lazy val parent: Option[DPathCompileInfo]

    Permalink
    Definition Classes
    DPathCompileInfo
  40. val path: String

    Permalink
    Definition Classes
    DPathCompileInfo
  41. def preSerialization: Any

    Permalink
    Definition Classes
    DPathElementCompileInfoDPathCompileInfo → PreSerialization
  42. def qNameForProperty(local: String, ns: NS): GlobalQName

    Permalink
    Definition Classes
    ResolvesQNames
  43. final def relativePath: String

    Permalink

    relative path - relative to enclosing element's path which by definition must be a prefix of this object's path.

    relative path - relative to enclosing element's path which by definition must be a prefix of this object's path.

    Definition Classes
    DPathCompileInfo
  44. def removePrefix(prefixedValue: String): String

    Permalink
    Definition Classes
    ResolvesQNames
  45. def resolveQName(qnString: String): RefQName

    Permalink
    Definition Classes
    ResolvesQNames
  46. final lazy val rootElement: DPathElementCompileInfo

    Permalink
  47. final def schemaDefinitionError(str: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  48. final macro def schemaDefinitionUnless(testThatWillThrowIfFalse: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    ThrowsSDE
  49. final macro def schemaDefinitionWhen(testThatWillThrowIfTrue: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    ThrowsSDE
  50. val schemaFileLocation: SchemaFileLocation

    Permalink
    Definition Classes
    DPathCompileInfo → HasSchemaFileLocation → ThrowsSDE
  51. final def serializeObject(out: ObjectOutputStream): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    PreSerialization
  52. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  53. def toString(): String

    Permalink
    Definition Classes
    DPathElementCompileInfoDPathCompileInfo → AnyRef → Any
  54. final def toss(th: Throwable): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  55. val tunable: DaffodilTunables

    Permalink
    Definition Classes
    DPathElementCompileInfoDPathCompileInfo → ResolvesQNames
  56. lazy val variableMap: VariableMap

    Permalink
    Definition Classes
    DPathCompileInfo
  57. final def wait(): Unit

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

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

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

Inherited from DPathCompileInfo

Inherited from HasSchemaFileLocation

Inherited from LookupLocation

Inherited from LocationInSchemaFile

Inherited from ResolvesQNames

Inherited from PreSerialization

Inherited from Serializable

Inherited from Serializable

Inherited from ImplementsThrowsSDE

Inherited from ThrowsSDE

Inherited from AnyRef

Inherited from Any

Ungrouped