Package

org.apache.daffodil

infoset

Permalink

package infoset

Visibility
  1. Public
  2. All

Type Members

  1. class ChoiceBranchEndEvent extends ChoiceBranchEvent

    Permalink
  2. sealed trait ChoiceBranchEvent extends Serializable

    Permalink
  3. class ChoiceBranchStartEvent extends ChoiceBranchEvent

    Permalink
  4. class ContentLengthState extends LengthState

    Permalink
  5. final class DIArray extends DINode with InfosetArray with DIFinalizable

    Permalink
  6. sealed class DIComplex extends DIElement with DIComplexSharedImplMixin with InfosetComplexElement with DIFinalizable

    Permalink

    Complex elements have an array of slots one per named child element.

    Complex elements have an array of slots one per named child element.

    TODO: consider xs:choice - alternatives could share slots, but that would add a lot of complexity, and the nil technique of storing null in a slot to indicate a nilled element only works if we have a positive association of slots to element-bases. If we were to share slots we'd need a different way to indicate nil. A better approach for xs:choice would be a sparse table of slots (whenever there are more than N - some threshold), so that we're not allocating arrays of 200 slots just because there are 200 branches of a choice.

    A slot stores a Maybe[InfosetCommonMixin]. None means not present (yet, because it hasn't been parsed yet, or it is an optional element (minOccurs 0, maxOccurs 1) and is not present.) One[DISimple] or One[DIComplex] mean a required element is present, or an optional element (minOccurs 0, maxOccurs 1) is present.

    A slot of a DIComplex should never be null.

    One[DIArray] means the slot is for a recurring element which can have 2+ instances. The DIArray object's length gives the number of occurrences.

  7. sealed trait DIComplexSharedImplMixin extends DIElementSharedInterface with DIComplexSharedMembersMixin

    Permalink
  8. sealed trait DIComplexSharedMembersMixin extends AnyRef

    Permalink
  9. final class DIComplexState extends DIElementState with DIElementSharedImplMixin with DIComplexSharedImplMixin

    Permalink
  10. final class DIDocument extends DIComplex with InfosetDocument

    Permalink
  11. sealed trait DIElement extends DINode with DITerm with InfosetElement with DIElementSharedImplMixin

    Permalink

    Base for non-array elements.

    Base for non-array elements. That is either scalar or optional ( minOccurs 0, maxOccurs 1)

  12. sealed trait DIElementSharedImplMixin extends DIElementSharedInterface with DIElementSharedMembersMixin

    Permalink
  13. sealed trait DIElementSharedInterface extends AnyRef

    Permalink
  14. sealed trait DIElementSharedMembersMixin extends AnyRef

    Permalink
  15. sealed abstract class DIElementState extends DIElementSharedInterface with DIElementSharedImplMixin

    Permalink
  16. sealed trait DIFinalizable extends AnyRef

    Permalink

    Arrays and complex elements have a notion of being finalized, when unparsing.

    Arrays and complex elements have a notion of being finalized, when unparsing. This is when we know that no more elements will be added to them, so things like fn:count can return a value knowing it won't change, and fn:exists can return false, knowing nobody will subsequently append the item that was being questioned.

  17. sealed trait DINode extends AnyRef

    Permalink
  18. sealed class DISimple extends DIElement with DISimpleSharedImplMixin with InfosetSimpleElement

    Permalink
  19. sealed trait DISimpleSharedImplMixin extends DIElementSharedInterface with DISimpleSharedMembersMixin

    Permalink
  20. sealed trait DISimpleSharedMembersMixin extends AnyRef

    Permalink
  21. final class DISimpleState extends DIElementState with DIElementSharedImplMixin with DISimpleSharedImplMixin

    Permalink
  22. sealed trait DITerm extends AnyRef

    Permalink

    Base for all terms, as there are these pseudo-nodes like DISequence which can have runtime-valued properties, but which aren't infoset items.

  23. final class FakeDINode extends DISimple

    Permalink

    Used to determine if expressions can be evaluated without any nodes.

    Used to determine if expressions can be evaluated without any nodes. They all save/restore the current node, so this is the placeholder they use for that purpose.

  24. class IllegalContentWhereEventExpected extends InvalidInfosetException

    Permalink
  25. class InfosetAccessor extends Accessor[InfosetAccessor]

    Permalink

    An infoset event accessor.

    An infoset event accessor.

    Not a case class because we don't want pattern matching on this. (It allocates to pattern match)

  26. case class InfosetAmbiguousNodeException(node: DIComplex, info: DPathElementCompileInfo) extends Diagnostic with InfosetException with Product with Serializable

    Permalink

    Indicates that an expression evaluated to a node sequence of more than one value.

    Indicates that an expression evaluated to a node sequence of more than one value. This results in a schema definition error at runtime.

  27. trait InfosetArray extends InfosetCommon

    Permalink
  28. case class InfosetArrayIndexOutOfBoundsException(diArray: DIArray, index: Long, length: Long) extends ProcessingError with InfosetException with RetryableException with Product with Serializable

    Permalink
  29. case class InfosetArrayNotFinalException(node: DIArray) extends ProcessingError with InfosetNodeNotFinalException with Product with Serializable

    Permalink
  30. trait InfosetCommon extends AnyRef

    Permalink
  31. trait InfosetComplexElement extends InfosetElement

    Permalink
  32. case class InfosetComplexElementNotFinalException(node: DIComplex) extends ProcessingError with InfosetNodeNotFinalException with Product with Serializable

    Permalink
  33. case class InfosetContentLengthUnknownException(lengthState: LengthState, diElement: DIElement, erd: ElementRuntimeData) extends InfosetLengthUnknownException with Product with Serializable

    Permalink
  34. trait InfosetDocument extends InfosetItem

    Permalink
  35. trait InfosetElement extends InfosetItem

    Permalink
  36. class InfosetError extends ProcessingError

    Permalink
  37. sealed trait InfosetEventKind extends AnyRef

    Permalink
  38. trait InfosetException extends AnyRef

    Permalink
  39. case class InfosetFatalArrayIndexOutOfBoundsException(diArray: DIArray, index: Long, length: Long) extends ProcessingError with InfosetException with Product with Serializable

    Permalink

    Don't catch this one.

    Don't catch this one. It's not restartable.

  40. abstract class InfosetInputter extends InfosetInputterCursor with CursorImplMixin[InfosetAccessor]

    Permalink
  41. trait InfosetInputterCursor extends Cursor[InfosetAccessor]

    Permalink
  42. sealed trait InfosetInputterEventType extends AnyRef

    Permalink
  43. trait InfosetItem extends InfosetCommon

    Permalink
  44. sealed abstract class InfosetLengthUnknownException extends ProcessingError with InfosetException with RetryableException

    Permalink
  45. case class InfosetNoDataException(diElement: DIElement, erd: ElementRuntimeData) extends ProcessingError with InfosetException with RetryableException with Product with Serializable

    Permalink

    Indicates for simple types that there is no value, and has not been setNilled.

    Indicates for simple types that there is no value, and has not been setNilled.

    For complex types indicates has not been setNilled.

  46. case class InfosetNoInfosetException(rd: Maybe[RuntimeData]) extends ProcessingError with InfosetException with RetryableException with Product with Serializable

    Permalink
  47. case class InfosetNoParentException(diElement: DIElement, erd: ElementRuntimeData) extends ProcessingError with InfosetException with Product with Serializable

    Permalink
  48. case class InfosetNoRootException(diElement: DIElement, erd: ElementRuntimeData) extends ProcessingError with InfosetException with RetryableException with Product with Serializable

    Permalink
  49. case class InfosetNoSuchChildElementException(diComplex: DIComplex, info: DPathElementCompileInfo) extends ProcessingError with InfosetException with RetryableException with Product with Serializable

    Permalink

    Exception thrown if infoset doesn't have a child corresponding to the slot being probed.

    Exception thrown if infoset doesn't have a child corresponding to the slot being probed. E.g., expression evaluation reaching to a forward sibling that has not yet been parsed.

  50. trait InfosetNodeNotFinalException extends InfosetException with RetryableException

    Permalink
  51. trait InfosetOutputter extends AnyRef

    Permalink
  52. trait InfosetSimpleElement extends InfosetElement

    Permalink
  53. case class InfosetValueLengthUnknownException(lengthState: LengthState, diElement: DIElement, erd: ElementRuntimeData) extends InfosetLengthUnknownException with Product with Serializable

    Permalink
  54. case class InfosetWrongNodeType(expectedType: String, node: DINode) extends ProcessingError with InfosetException with Product with Serializable

    Permalink

    This is thrown if an expression is evaluated at the wrong place Eg., in the debugger if you set a breakpoint, and then

    This is thrown if an expression is evaluated at the wrong place Eg., in the debugger if you set a breakpoint, and then

    condition 1 xsd:string(.) eq '3'

    Well that condition expression is going to get evaluated even at times when "." is bound to a DIComplex node. (The focus of "." seems to not be assured of being on the breakpoint node. This expression can get evaluated at least when "." is the parent of the breakpoint element.)

    These are all case classes so we get the automatic equals function that compares the constructor args for equality.

  55. class InvalidInfosetException extends Exception

    Permalink
  56. class IterableNodeList extends Iterator[Node]

    Permalink
  57. class JDOMInfosetInputter extends InfosetInputter

    Permalink
  58. class JDOMInfosetOutputter extends InfosetOutputter with XMLInfosetOutputter

    Permalink
  59. class JsonInfosetInputter extends InfosetInputter

    Permalink
  60. class JsonInfosetOutputter extends InfosetOutputter with Indentable

    Permalink
  61. sealed abstract class LengthState extends Logging

    Permalink

    Keeps track of where we are for computing either the value length or content length.

    Keeps track of where we are for computing either the value length or content length. Serves to cache this information on the infoset element.

    Note that this is used to capture and restore this state also, in which case the ie argument is null.

    These 4 members are used to allow computation of e.g., contentLength but in a manner than can block if it is unable to be computed yet.

    If only the maybeStartPos... is defined, AND the corresponding data output stream is NOT defined then it is an absolute position. If both the maybeStartPos... is defined AND the corresponding maybeStartDataOutputStream are defined, then that start pos is a relative start pos, and we'll need to compute the absolute start pos once we find out the absolute start pos of the data output stream.

  62. trait NextElementResolver extends Serializable

    Permalink

    The schema compiler computes this for each element.

    The schema compiler computes this for each element.

    This is for use assembling the Daffodil Infoset from an InfosetInputter. Note that not all InfosetInputter's have a concept of namespaces (json is a prime example of this). In order to support this, each nextElement method has a variable called hasNamespace, which is used to specify whether or not the InfosetInputter supports namespaces. If it does not support namespaces, then the namespace parameter should be ignored. This may affect how the next element is determined, and may result in an UnparseError in some cases.

  63. class NoNextElement extends NextElementResolver

    Permalink
  64. class NonTextFoundInSimpleContentException extends InvalidInfosetException

    Permalink
  65. class NullInfosetOutputter extends InfosetOutputter

    Permalink

    Ignores all infoset events, outputting nothing

  66. class OnlyOnePossibilityForNextElement extends NextElementResolver

    Permalink
  67. case class OutputValueCalcEvaluationException(throwableCause: Exception) extends Exception with ThinThrowableWithCause with Product with Serializable

    Permalink

    Thrown when unparsing and demanding the dataValue of a DISimple when there is no value yet, but the element has dfdl:outputValueCalc expression.

    Thrown when unparsing and demanding the dataValue of a DISimple when there is no value yet, but the element has dfdl:outputValueCalc expression.

    This should be caught in contexts that want to undertake on-demand evaluation of the OVC expression.

  68. sealed abstract class ResolverType extends Serializable

    Permalink
  69. trait RetryableException extends AnyRef

    Permalink

    Marker trait that identifies exceptions which indicate an action that can block forward-referencing expressions that occur during unparsing.

    Marker trait that identifies exceptions which indicate an action that can block forward-referencing expressions that occur during unparsing. These actions can be retried once the available information has "arrived" in the infoset or the state of the unparser.

  70. class ScalaXMLInfosetInputter extends InfosetInputter

    Permalink
  71. class ScalaXMLInfosetOutputter extends InfosetOutputter with XMLInfosetOutputter

    Permalink
  72. class SeveralPossibilitiesForNextElement extends NextElementResolver

    Permalink

    Schema compiler computes the map here, and then attaches this object to the ERD of each element.

  73. class ValueLengthState extends LengthState

    Permalink
  74. class W3CDOMInfosetInputter extends InfosetInputter

    Permalink
  75. class W3CDOMInfosetOutputter extends InfosetOutputter with XMLInfosetOutputter

    Permalink
  76. trait XMLInfosetOutputter extends AnyRef

    Permalink
  77. class XMLTextInfosetInputter extends InfosetInputter

    Permalink
  78. class XMLTextInfosetOutputter extends InfosetOutputter with Indentable with XMLInfosetOutputter

    Permalink

    Writes the infoset to a java.io.Writer as XML text.

Value Members

  1. object ChildResolver extends ResolverType with Product with Serializable

    Permalink
  2. object ChoiceBranchEndEvent extends Serializable

    Permalink
  3. object ChoiceBranchEvent extends UniquenessCache[NamedQName, (ChoiceBranchStartEvent, ChoiceBranchEndEvent)] with Serializable

    Permalink
  4. object ChoiceBranchStartEvent extends Serializable

    Permalink
  5. object DIComplexState

    Permalink
  6. object DISimpleState

    Permalink
  7. object EndDocument extends InfosetInputterEventType with Product with Serializable

    Permalink
  8. object EndElement extends InfosetInputterEventType with Product with Serializable

    Permalink
  9. object EndKind extends InfosetEventKind with Product with Serializable

    Permalink
  10. object INoWarn2

    Permalink
  11. object Infoset

    Permalink
  12. object InfosetAccessor

    Permalink
  13. object JDOMInfosetInputter

    Permalink
  14. object JsonInfosetInputter

    Permalink
  15. object NonUsableInfosetInputter extends InfosetInputterCursor

    Permalink
  16. object RootResolver extends ResolverType with Product with Serializable

    Permalink
  17. object SiblingResolver extends ResolverType with Product with Serializable

    Permalink
  18. object StartDocument extends InfosetInputterEventType with Product with Serializable

    Permalink
  19. object StartElement extends InfosetInputterEventType with Product with Serializable

    Permalink
  20. object StartKind extends InfosetEventKind with Product with Serializable

    Permalink
  21. object Status extends Enumeration

    Permalink
  22. object XMLTextInfosetInputter

    Permalink

Ungrouped