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 DFDLCheckConstraintsExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression]) extends FunctionCallBase with Product with Serializable

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

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

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

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

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

    Permalink
  14. sealed abstract class DownStepExpression extends StepExpression

    Permalink
  15. abstract class Expression extends OOLAGHostImpl with BasicComponent

    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.

  16. abstract class ExpressionLists extends Expression

    Permalink
  17. 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
  18. 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.

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

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

    Permalink
  21. 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
  22. 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
  23. 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.

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

    Permalink
  25. 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
  26. 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
  27. abstract class FNTwoArgsExprBase extends FunctionCallBase

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

    Permalink
  29. case class FNTwoArgsMathExpr(nameAsParsed: String, fnQName: RefQName, args: List[Expression], arg2Type: Kind, constructor: (List[CompiledDPath]) ⇒ RecipeOp) extends FNTwoArgsExprBase 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.

    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. The inherent type comes from the first argument

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

    Permalink
  31. abstract class FunctionCallArrayBase extends FunctionCallBase

    Permalink

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

  32. abstract class FunctionCallBase extends ExpressionLists

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

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

    Permalink
  35. sealed abstract class LengthExprBase extends FNTwoArgsExprBase

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

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

    Permalink
  38. abstract class LiteralExpressionBase extends PrimaryExpression

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

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

    Permalink
  41. trait NumericExpression extends BinaryExpMixin

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

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

  44. abstract class PathExpression extends Expression

    Permalink
  45. 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".

  46. abstract class PrimaryExpression extends ExpressionLists

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

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

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

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

    Permalink

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

  51. sealed abstract class SelfStepExpression extends DownStepExpression

    Permalink
  52. sealed abstract class StepExpression extends Expression

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

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

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

    Permalink

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

  56. sealed abstract class UpStepExpression extends StepExpression

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

    Permalink
  58. 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
  59. case class VariableRef(qnameString: String) extends PrimaryExpression with Product with Serializable

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

    Permalink

    A whole expression

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

    Permalink

Value Members

  1. object Conversion

    Permalink
  2. object NodeInfoUtils

    Permalink

Ungrouped