Package xbird.xquery.dm.value

Examples of xbird.xquery.dm.value.Sequence


                out.write(b, 0, 8);
            }
        }

        protected Object readResolve() throws ObjectStreamException {
            Sequence replaced = _toReplace;
            this._toReplace = null;
            return replaced;
        }
View Full Code Here


        return _identifier;
    }

    @Override
    public Type getType() {
        final Sequence result = _result;
        if(result == null) {
            return _type;
        } else {
            return _result.getType();
        }
View Full Code Here

    }

    @Override
    public Sequence<? extends Item> eval(Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        Sequence result = _result;
        if(_local) {
            final XQExpression valueExpr = _value;
            if(valueExpr == null) {
                throw new IllegalStateException();
            }
View Full Code Here

    @Override
    public void writeExternal(ObjectOutput out) throws IOException {
        out.writeObject(_type);
        out.writeObject(_varName);
        out.writeInt(_identifier);
        final Sequence result = _result;
        if(result == null) {
            out.writeBoolean(false);
            final XQExpression value = _value;
            if(value == null) {
                throw new IllegalStateException();
View Full Code Here

        lock.lock();
        try {
            if(_catchedException != null) {
                throw _catchedException;
            }
            final Sequence result = _result;
            if(result == null) {
                throw new XQueryException("Result of ThreadedVariable#" + getName()
                        + " was illegally null");
            }
            return result;
View Full Code Here

        return this;
    }

    public Sequence eval(Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        final Sequence res = promotedExpr.eval(contextSeq, dynEnv);
        final Sequence promoted = DirectFunctionCall.mapFunctionArgument(res, promoteTo, dynEnv);
        return promoted;
    }
View Full Code Here

        return this;
    }

    public Sequence<? extends Item> eval(Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        final Sequence condSeq = condExpr.eval(contextSeq, dynEnv);
        if(FnBoolean.effectiveBooleanValue(condSeq)) {
            return thenExpr.eval(contextSeq, dynEnv);
        } else {
            return elseExpr.eval(contextSeq, dynEnv);
        }
View Full Code Here

    }

    @Override
    public void evalAsEvents(XQEventReceiver handler, Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        final Sequence condSeq = condExpr.eval(contextSeq, dynEnv);
        if(FnBoolean.effectiveBooleanValue(condSeq)) {
            thenExpr.evalAsEvents(handler, contextSeq, dynEnv);
        } else {
            elseExpr.evalAsEvents(handler, contextSeq, dynEnv);
        }
View Full Code Here

            final Item arg = argv.getItem(0);
            if(arg instanceof IRandomAccessSequence) {
                count = ((IRandomAccessSequence) arg).size();
            } else {
                if(arg instanceof SingleCollection) {
                    final Sequence source = ((SingleCollection) arg).getSource();
                    if(source instanceof IRandomAccessSequence) {
                        count = ((IRandomAccessSequence) source).size();
                        return XInteger.valueOf(count);
                    } else if(source instanceof IndexMatchedSequence) {
                        count = ((IndexMatchedSequence) source).totalCount();
View Full Code Here

        return this;
    }

    public Sequence<? extends Item> eval(Sequence<? extends Item> contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        Sequence input = new DummySequence(dynEnv);
        for(Binding bc : _clauses) {
            final int type = bc.getExpressionType();
            if(type == Binding.LET_CLAUSE) {
                LetVariable lv = ((LetClause) bc).getVariable();
                int refcnt = lv.getReferenceCount();
                if(refcnt == 0) {
                    continue;
                } else {
                    input = new ActionSequence(input, bc, dynEnv);
                }
            } else {
                input = new PipedActionSequence(input, bc, dynEnv);
            }
        }
        // group by
        if(_groupByClause != null) {
            GroupingSpec[] specs = _groupByClause.getGroupingKeysAsArray();

            PreGroupingVariableExtractor extractor = new PreGroupingVariableExtractor(specs);
            extractor.visit(_filteredReturnExpr, dynEnv);
            List<BindingVariable> nonGroupingVariables = extractor.getNonGroupingVariables();

            input = new GroupedSequence(input, specs, nonGroupingVariables, contextSeq, dynEnv, _groupByClause.isOrdering());
        }
        // where + return
        Sequence ret = new PipedActionSequence(input, _filteredReturnExpr, dynEnv);
        // order by     TODO PERFORMANCE eager ordering
        if(!_orderSpecs.isEmpty()) {
            return sorted(ret, _orderSpecs, contextSeq, dynEnv);
        }
        return ret;
View Full Code Here

TOP

Related Classes of xbird.xquery.dm.value.Sequence

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.