Package

org.apache.daffodil

dpath

Permalink

package dpath

Visibility
  1. Public
  2. All

Type Members

  1. case class AdditiveExpression(op: String, mults: List[Expression]) extends ExpressionLists with NumericExpression with Product with Serializable

    Permalink
  2. case class AndExpression(comps: List[Expression]) extends ExpressionLists with BooleanExpression with Product with Serializable

    Permalink
  3. trait BinaryExpMixin extends AnyRef

    Permalink
  4. trait BooleanExpression extends BinaryExpMixin

    Permalink
  5. case class ComparisonExpression(op: String, adds: List[Expression]) extends ExpressionLists with BooleanExpression with Product with Serializable

    Permalink
  6. case class ContentLengthExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind, arg1Type: Kind, arg2Type: Kind, constructor: (List[CompiledDPath]) ⇒ RecipeOp) extends LengthExprBase with Product with Serializable

    Permalink
  7. case class DAFErrorExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  8. case class DAFTraceExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  9. case class DFDLCheckConstraintsExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  10. case class DFDLOccursIndexExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  11. class DFDLPathExpressionParser[T <: AnyRef] extends RegexParsers

    Permalink

    Parses DPath expressions.

    Parses DPath expressions. Most real analysis is done later. This is just the syntax being legal so that we can build the abstract syntax tree (of ElementBase-derived classes).

    Use isEvaluatedAbove for expressions that are evaluated in a parent context around the element where they are expressed (e.g., occursCount)

    One goal of this object, and the reason it is yet another separate compiler object, is that it uses Scala's Combinator parsers, which have been known to cause memory leaks. This class is transient. We never save it. So hopefully that discards all the state of the combinator stuff as well.

  12. case class DFDLSetBitsExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  13. case class DFDLTestBitExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  14. abstract class Expression extends OOLAGHostImpl with ImplementsThrowsOrSavesSDE

    Permalink

    Root class of the type hierarchy for the AST nodes used when we compile a DPath Expression.

    Root class of the type hierarchy for the AST nodes used when we compile a DPath Expression.

    All the work in 'compiling' the DPath expressions happens on methods of these objects.

    This is the OOLAG pattern again.

  15. abstract class ExpressionLists extends Expression

    Permalink
  16. case class FNArgListExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind, argType: Kind, constructor: (List[CompiledDPath]) ⇒ RecipeOp) extends FunctionCallBase with Product with Serializable

    Permalink
  17. case class FNCountExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallArrayBase with Product with Serializable

    Permalink

    Tells the sub-expression that we want an array out of it.

  18. case class FNErrorExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  19. case class FNExactlyOneExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallArrayBase with Product with Serializable

    Permalink
  20. case class FNOneArgExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind, argType: Kind, constructor: (CompiledDPath, Kind) ⇒ RecipeOp) extends FunctionCallBase with Product with Serializable

    Permalink
  21. case class FNOneArgExprConversionDisallowed(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind, argType: Kind, constructor: (CompiledDPath, Kind) ⇒ RecipeOp) extends FunctionCallBase with Product with Serializable

    Permalink
  22. case class FNOneArgMathExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], constructor: (CompiledDPath, Kind) ⇒ RecipeOp) extends FunctionCallBase with Product with Serializable

    Permalink

    Preserves the inherent type of the argument to the function as the type of the result, that is if the argument type is a numeric type, and if the argument type is a subtype thereof.

  23. case class FNRoundHalfToEvenExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

    Permalink
  24. case class FNThreeArgsExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind, arg1Type: Kind, arg2Type: Kind, arg3Type: Kind, constructor: (List[CompiledDPath]) ⇒ RecipeOp) extends FunctionCallBase with Product with Serializable

    Permalink
  25. case class FNTwoArgsExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind, arg1Type: Kind, arg2Type: Kind, constructor: (List[CompiledDPath]) ⇒ RecipeOp) extends FNTwoArgsExprBase with Product with Serializable

    Permalink
  26. abstract class FNTwoArgsExprBase extends FunctionCallBase

    Permalink
  27. case class FNZeroArgExpr(nameAsParsed: String, fnQName: RefQName, resultType: Kind, argType: Kind, constructor: (CompiledDPath, Kind) ⇒ RecipeOp) extends FunctionCallBase with Product with Serializable

    Permalink
  28. abstract class FunctionCallArrayBase extends FunctionCallBase

    Permalink

    Tells the sub-expression that we want an array out of it.

  29. abstract class FunctionCallBase extends ExpressionLists

    Permalink
  30. case class FunctionCallExpression(functionQNameString: String, expressions: List[Expression]) extends PrimaryExpression with Product with Serializable

    Permalink
  31. case class IfExpression(ifthenelse: List[Expression]) extends ExpressionLists with Product with Serializable

    Permalink
  32. sealed abstract class LengthExprBase extends FNTwoArgsExprBase

    Permalink
  33. case class LiteralBooleanExpression(v: Any) extends LiteralExpressionBase with Product with Serializable

    Permalink

    This is a literal as used to replace the fn:true() and fn:false() functions.

    This is a literal as used to replace the fn:true() and fn:false() functions.

    It has to behave like a function call with respect to target type.

  34. case class LiteralExpression(v: Any) extends LiteralExpressionBase with Product with Serializable

    Permalink
  35. abstract class LiteralExpressionBase extends PrimaryExpression

    Permalink
  36. case class MultiplicativeExpression(op: String, unarys: List[Expression]) extends ExpressionLists with NumericExpression with Product with Serializable

    Permalink
  37. case class NamedStep(s: String, predArg: Option[PredicateExpression]) extends StepExpression with Product with Serializable

    Permalink
  38. trait NumericExpression extends BinaryExpMixin

    Permalink
  39. case class OrExpression(ands: List[Expression]) extends ExpressionLists with BooleanExpression with Product with Serializable

    Permalink
  40. case class ParenthesizedExpression(expression: Expression) extends PrimaryExpression with Product with Serializable

    Permalink

    Really this just delegates anything bottom-up to the contained expression and anything top-down to the parent

  41. abstract class PathExpression extends Expression

    Permalink
  42. case class PredicateExpression(ifOr: Expression) extends Expression with Product with Serializable

    Permalink

    The thing in square brackets is indexing in DFDL, but XPath calls it a "predicate".

  43. abstract class PrimaryExpression extends ExpressionLists

    Permalink
  44. case class RelativePathExpression(steps1: List[StepExpression], isEvaluatedAbove: Boolean) extends PathExpression with Product with Serializable

    Permalink
  45. case class RootPathExpression(relPath: Option[RelativePathExpression]) extends PathExpression with Product with Serializable

    Permalink
  46. case class Self(predArg: Option[PredicateExpression]) extends StepExpression with Product with Serializable

    Permalink
  47. case class Self2(s: String, predArg: Option[PredicateExpression]) extends StepExpression with Product with Serializable

    Permalink

    Different from Self in that it verifies the qName (s) is the name of the context.

  48. sealed abstract class StepExpression extends Expression

    Permalink
  49. case class UnaryExpression(op: String, exp: Expression) extends ExpressionLists with Product with Serializable

    Permalink
  50. case class Up(predArg: Option[PredicateExpression]) extends StepExpression with Product with Serializable

    Permalink
  51. case class Up2(s: String, predArg: Option[PredicateExpression]) extends StepExpression with Product with Serializable

    Permalink

    Different from Up in that it verifies the qName (s) is the name of the parent node.

  52. case class ValueLengthExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind, arg1Type: Kind, arg2Type: Kind, constructor: (List[CompiledDPath]) ⇒ RecipeOp) extends LengthExprBase with Product with Serializable

    Permalink
  53. case class VariableRef(qnameString: String) extends PrimaryExpression with Product with Serializable

    Permalink
  54. case class WholeExpression(nodeInfoKind: Kind, ifor: Expression, nsBindingForPrefixResolution: NamespaceBinding, ci: DPathCompileInfo, host: OOLAGHost) extends Expression with Product with Serializable

    Permalink

    A whole expression

  55. case class XSConverterExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], resultType: Kind) extends FunctionCallBase with Product with Serializable

    Permalink

Value Members

  1. object NodeInfoUtils

    Permalink

Ungrouped