Package xbird.xquery.dm.value

Examples of xbird.xquery.dm.value.AtomicValue


            }
            final Type t = _keyTypes.get(index);
            if(t == StringType.STRING) {
                return new XString(item.stringValue());
            }
            final AtomicValue it = (item instanceof AtomicValue) ? (AtomicValue) item
                    : new XString(item.stringValue());
            if(t instanceof AtomicType) {
                final AtomicType trgType = (AtomicType) t;
                final AtomicValue converted = it.castAs(trgType, dynEnv);
                return converted;
            }
            return it;
        }
View Full Code Here


    @Override
    public <T extends AtomicValue> T castAs(AtomicType type, DynamicContext dynEnv)
            throws XQueryException {
        assert (type != null);
        final int tid = type.getTypeId();
        final AtomicValue atomv;
        switch(tid) {
            case TypeTable.UNTYPED_ATOMIC_TID:
                atomv = new UntypedAtomicValue(stringValue());
                break;
            case TypeTable.STRING_TID:
View Full Code Here

        }
        int paramlen = params.size();
        assert (paramlen == 1);
        XQExpression locExpr = params.get(0);
        if(locExpr instanceof LiteralExpr) {
            AtomicValue atomv = ((LiteralExpr) locExpr).getValue();
            String locStr = atomv.stringValue();
            assert (locStr != null);
            Reader qr = readQuery(locStr, context);
            XQExpression resolved = resolveExpression(qr, context);
            return resolved;
        }
View Full Code Here

        }
        Type baseType = _srcExpr.getType();
        for(int i = 0; i < _predicates.size(); i++) {
            XQExpression e = _predicates.get(i);
            if(e instanceof LiteralExpr) {
                AtomicValue literal = ((LiteralExpr) e).getValue();
                if(literal instanceof XNumber) {
                    DynamicContext probe = DynamicContext.PROBE;
                    probe.setStaticContext(statEnv);
                    XNumber xnum = (XNumber) literal;
                    double xdouble = xnum.asDouble();
View Full Code Here

            final IFocus<? extends Item> atomizedItor = argv.atomize(dynEnv).iterator();
            for(Item it : atomizedItor) {
                final Type actualType = it.getType();
                // apply fs:ConvertSimpleOperand
                if(actualType == UntypedAtomicType.UNTYPED_ATOMIC && expected.getTypeId() >= 0) {
                    final AtomicValue casted = ((AtomicValue) it).castAs(expected, dynEnv);
                    res.addItem(casted);
                } else {
                    res.addItem(it);
                }
            }
View Full Code Here

        final IFocus<AtomicValue> qnameItor = qnameSeq.iterator();
        if(!qnameItor.hasNext()) {
            qnameItor.closeQuietly();
            reportError("err:XPTY0004", "Conversion of the atomized name expression to an expanded QName was not successful.");
        }
        final AtomicValue it = qnameItor.next();
        if(qnameItor.hasNext()) {
            qnameItor.closeQuietly();
            reportError("err:XPTY0004", "Conversion of the atomized name expression to an expanded QName was not successful.");
        }
        qnameItor.closeQuietly();
        final QualifiedName namev;
        final Type t = it.getType();
        if(TypeUtil.subtypeOf(t, QNameType.QNAME)) {
            final QNameValue qname = ((AtomicValue) it).castAs(QNameType.QNAME, dynEnv);
            namev = qname.getValue();
        } else if(TypeUtil.subtypeOf(t, StringType.STRING) || t == UntypedAtomicType.UNTYPED_ATOMIC) {
            final StaticContext sc = dynEnv.getStaticContext();
            try {
                final CharSequence namecs = it.stringValue();
                final String namestr = (namecs == null) ? null : namecs.toString();
                namev = QNameUtil.parse(namestr, sc.getStaticalyKnownNamespaces(), sc.getDefaultElementNamespace());
            } catch (Exception e) {
                throw new DynamicError("err:XQDY0074", e);
            }
View Full Code Here

     [138] IntegerLiteral ::= Digits
     [139] DecimalLiteral ::= ("." Digits) | (Digits "." [0-9]*)
     [140] DoubleLiteral  ::= (("." Digits) | (Digits ("." [0-9]*)?)) [eE] [+-]? Digits
     ************************************************************************/
    final public LiteralExpr parseLiteral() throws ParseException, XQueryException {
        final AtomicValue value;
        switch(jj_nt.kind) {
            case IntegerLiteral:
                // IntegerLiteral
                currentToken = jj_consume_token(IntegerLiteral);
                value = new XInteger(currentToken.image);
View Full Code Here

     */
    @Override
    public <T extends AtomicValue> T castAs(AtomicType trgType, DynamicContext dynEnv)
            throws XQueryException {
        final int ttid = trgType.getTypeId();
        final AtomicValue v;
        switch(ttid) {
            case TypeTable.BOOLEAN_TID:
                final boolean ebv = (value != 0.0 && !Double.isNaN(value));
                v = new BooleanValue(ebv);
                break;
View Full Code Here

     */
    @Override
    public <T extends AtomicValue> T castAs(AtomicType trgType, DynamicContext dynEnv)
            throws XQueryException {
        final int ttid = trgType.getTypeId();
        final AtomicValue v;
        switch(ttid) {
            case TypeTable.BOOLEAN_TID:
                final boolean ebv = (value != 0.0 && !Float.isNaN(value));
                v = new BooleanValue(ebv);
                break;
View Full Code Here

    @Override
    public <T extends AtomicValue> T castAs(AtomicType trgType, DynamicContext dynEnv)
            throws XQueryException {
        final int ttid = trgType.getTypeId();
        final AtomicValue v;
        switch(ttid) {
            case TypeTable.BOOLEAN_TID:
                v = new BooleanValue(value.signum() != 0);
                break;
            case TypeTable.DECIMAL_TID:
View Full Code Here

TOP

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

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.