/** * Allocate a SequenceOutputter. Used from generated bytecode. * * @param context dynamic XPath context * @param hostLang host language (XSLT/XQuery) * @return the allocated SequenceOutputter * @see com.saxonica.ee.bytecode.util.CompilerService */ /*@Nullable*/ public static SequenceOutputter allocateSequenceOutputter(XPathContext context, int hostLang) { Controller controller = context.getController(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(hostLang); return seq; }
/** * Allocate a SequenceOutputter. Used from generated bytecode. * * @param context dynamic XPath context * @param hostLang host language (XSLT/XQuery) * @return the allocated SequenceOutputter * @see com.saxonica.ee.bytecode.util.CompilerService */ /*@Nullable*/ public static SequenceOutputter allocateSequenceOutputter(XPathContext context, int hostLang) { Controller controller = context.getController(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(hostLang); return seq; }
XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getContainer().getHostLanguage());
XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getContainer().getHostLanguage());
XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getContainer().getHostLanguage());
XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getHostLanguage());
XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getHostLanguage());
XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(20); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getHostLanguage());
XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(20); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getHostLanguage());
@Override public Sequence<?> evaluate(Expression expr, XPathContext context) throws XPathException { Controller controller = context.getController(); Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(expr.getPackageData().getHostLanguage()); context.setReceiver(seq); seq.open(); expr.process(context); seq.close(); context.setReceiver(saved); Sequence<?> val = seq.getSequence(); seq.reset(); return val; }
/** * Helper method to construct an iterator over the results of the expression when all that * the expression itself offers is a process() method. This builds the entire results of the * expression as a sequence in memory and then iterates over it. * * @param context the dynamic evaluation context * @return an iterator over the results of the expression * @throws XPathException if a dynamic error occurs */ public static SequenceIterator<?> getIteratorFromProcessMethod( Expression exp, XPathContext context) throws XPathException { Controller controller = context.getController(); assert controller != null; Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(exp.getPackageData().getHostLanguage()); context.setReceiver(seq); exp.process(context); context.setReceiver(saved); seq.close(); return seq.iterate(); }
/** * Evaluate as an expression. We rely on the fact that when these instructions * are generated by XQuery, there will always be a valueExpression to evaluate * the content */ public Item evaluateItem(XPathContext context) throws XPathException { Controller controller = context.getController(); Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(1); seq.getPipelineConfiguration().setHostLanguage(getPackageData().getHostLanguage()); context.setReceiver(seq); process(context); seq.close(); context.setReceiver(saved); Item item = seq.getFirstItem(); seq.reset(); return item; }
/** * Evaluate as an expression. We rely on the fact that when these instructions * are generated by XQuery, there will always be a valueExpression to evaluate * the content */ public Item evaluateItem(XPathContext context) throws XPathException { Controller controller = context.getController(); XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getHostLanguage()); seq.setPipelineConfiguration(pipe); c2.setTemporaryReceiver(seq); process(c2); seq.close(); Item item = seq.getFirstItem(); seq.reset(); return item; }
@Override public Sequence<?> evaluate(Expression expr, XPathContext context) throws XPathException { Controller controller = context.getController(); Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(expr.getPackageData().getHostLanguage()); context.setReceiver(seq); seq.open(); expr.process(context); seq.close(); context.setReceiver(saved); Sequence<?> val = seq.getSequence(); seq.reset(); return val; }
/** * Helper method to construct an iterator over the results of the expression when all that * the expression itself offers is a process() method. This builds the entire results of the * expression as a sequence in memory and then iterates over it. * * @param context the dynamic evaluation context * @return an iterator over the results of the expression * @throws XPathException if a dynamic error occurs */ public static SequenceIterator<?> getIteratorFromProcessMethod( Expression exp, XPathContext context) throws XPathException { Controller controller = context.getController(); assert controller != null; Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(20); seq.getPipelineConfiguration().setHostLanguage(exp.getPackageData().getHostLanguage()); context.setReceiver(seq); exp.process(context); context.setReceiver(saved); seq.close(); return seq.iterate(); }
/** * Evaluate as an expression. We rely on the fact that when these instructions * are generated by XQuery, there will always be a valueExpression to evaluate * the content */ public Item evaluateItem(XPathContext context) throws XPathException { Controller controller = context.getController(); Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(1); seq.getPipelineConfiguration().setHostLanguage(getPackageData().getHostLanguage()); context.setReceiver(seq); process(context); seq.close(); context.setReceiver(saved); Item item = seq.getFirstItem(); seq.reset(); return item; }
/** * Evaluate as an expression. We rely on the fact that when these instructions * are generated by XQuery, there will always be a valueExpression to evaluate * the content */ public Item evaluateItem(XPathContext context) throws XPathException { Controller controller = context.getController(); XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getHostLanguage()); seq.setPipelineConfiguration(pipe); c2.setTemporaryReceiver(seq); process(c2); seq.close(); Item item = seq.getFirstItem(); seq.reset(); return item; }
/** * Evaluate as an expression. We rely on the fact that when these instructions * are generated by XQuery, there will always be a valueExpression to evaluate * the content */ public Item evaluateItem(XPathContext context) throws XPathException { Controller controller = context.getController(); XPathContext c2 = context.newMinorContext(); c2.setOrigin(this); SequenceOutputter seq = controller.allocateSequenceOutputter(1); PipelineConfiguration pipe = controller.makePipelineConfiguration(); pipe.setHostLanguage(getHostLanguage()); seq.setPipelineConfiguration(pipe); c2.setTemporaryReceiver(seq); process(c2); seq.close(); Item item = seq.getFirstItem(); seq.reset(); return item; }
/** * Helper method to construct an item representing the results of the expression when all that * the expression itself offers is a process() method. * * @param context the dynamic evaluation context * @return an iterator over the results of the expression * @throws XPathException if a dynamic error occurs */ public static Item getItemFromProcessMethod(Expression exp, XPathContext context) throws XPathException { Controller controller = context.getController(); assert controller != null; Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(1); seq.getPipelineConfiguration().setHostLanguage(exp.getPackageData().getHostLanguage()); context.setReceiver(seq); exp.process(context); context.setReceiver(saved); seq.close(); Item result = seq.getFirstItem(); seq.reset(); return result; }
/** * Helper method to construct an item representing the results of the expression when all that * the expression itself offers is a process() method. * * @param context the dynamic evaluation context * @return an iterator over the results of the expression * @throws XPathException if a dynamic error occurs */ public static Item getItemFromProcessMethod(Expression exp, XPathContext context) throws XPathException { Controller controller = context.getController(); assert controller != null; Receiver saved = context.getReceiver(); SequenceOutputter seq = controller.allocateSequenceOutputter(1); seq.getPipelineConfiguration().setHostLanguage(exp.getPackageData().getHostLanguage()); context.setReceiver(seq); exp.process(context); context.setReceiver(saved); seq.close(); Item result = seq.getFirstItem(); seq.reset(); return result; }