Package com.volantis.xml.expression.sequence

Examples of com.volantis.xml.expression.sequence.Sequence


    // javadoc inherited
    public Value invoke(ExpressionContext context, Value[] arguments)
            throws ExpressionException {
        FunctionArgumentsValidationHelper.checkArgumentsCount(NAME, 1, arguments.length);
        Sequence sequence = arguments[0].getSequence();
        Value result;
        if (sequence.getLength() == 0) {
            result = Sequence.EMPTY;
        } else {
            NumericValuesSummator summator = new NumericValuesSummator();
            summator.addAllValues(sequence);
            double sum = summator.getSumAsDouble();
            return context.getFactory().createDoubleValue(
                    Double.isNaN(sum) || Double.isInfinite(sum) ? sum :
                        new BigDecimal(Double.toString(sum)).divide(BigDecimal.valueOf(sequence.getLength()),
                                MAX_PRECISION, BigDecimal.ROUND_HALF_UP).doubleValue()
            );
        }
        return result;
    }
View Full Code Here


        }

        Value result = Sequence.EMPTY;

        if (args[0] != Sequence.EMPTY && args[1] != Sequence.EMPTY) {
            final Sequence inputSequence = args[0].getSequence();
            final String searchStr = args[1].stringValue().asJavaString();
            final ExpressionFactory factory = context.getFactory();

            // Allocate enough space for the return sequence as we know the
            // maximum number of possible matches.
            final Item [] items = new Item[inputSequence.getLength()];
            int numMatches = 0;
            for (int i = 1; i <= inputSequence.getLength(); i++) {
                Item item = inputSequence.getItem(i);
                if (searchStr.equals(item.stringValue().asJavaString())) {

                    // save a match
                    items[numMatches++] = factory.createIntValue(i);
                }
View Full Code Here

   
    // javadoc inherited
    public Value invoke(ExpressionContext context, Value[] arguments)
            throws ExpressionException {
        FunctionArgumentsValidationHelper.checkArgumentsCount(NAME, 1, 2, arguments.length);
        Sequence sequence = arguments[0].getSequence();
        Value result;
        if (sequence.getLength() == 0) {
            result = arguments.length == 2 ?
                    arguments[1] : context.getFactory().createIntValue(0);
        } else {
            NumericValuesSummator summator = new NumericValuesSummator();
            summator.addAllValues(sequence);
View Full Code Here

                    EXCEPTION_LOCALIZER.format(
                            "invalid-num-of-args",
                            new Object[]{getName(), new Integer(2),
                                    new Integer(arguments.length)}));
        }
        final Sequence firstSequence = arguments[0].getSequence();
        final Sequence secondSequence = arguments[1].getSequence();
        Sequence result = Sequence.EMPTY;
        Item[] items = getItems(firstSequence, secondSequence, context);
        if (items.length > 0) {
            result = context.getFactory().createSequence(items);
        }
        return result;
View Full Code Here

        // ensure a sequence is returned
        assertTrue("return value should be a Sequence instance",
                   value instanceof Sequence);

        Sequence actual = (Sequence) value;

        // check that the sequence contains all the expected items
        assertEquals("Sequence should contain 3 items",
                     3,
                     actual.getLength());

        assertEquals("Unexpected first item in Sequence",
                     "value1",
                     actual.getItem(1).stringValue().asJavaString());

        assertEquals("Unexpected second item in Sequence",
                     "value2",
                     actual.getItem(2).stringValue().asJavaString());

        assertEquals("Unexpected third item in Sequence",
                     "value3",
                     actual.getItem(3).stringValue().asJavaString());
    }
View Full Code Here

        // Value returned should be a StringValue
        assertTrue("return value should be a DoubleValue instance",
                   result instanceof Sequence);

        Sequence seq = (Sequence) result;

        // check the sequence is of lenght 1
        assertEquals("Unexpected sequence length",
                     1,
                     seq.getLength());

        Item item = seq.getItem(1);

        // Value returned should be a StringValue
        assertTrue("Item in list should be a StringValue instance",
                  item instanceof StringValue);
View Full Code Here

        // Value returned should be a StringValue
        assertTrue("return value should be a DoubleValue instance",
                   result instanceof Sequence);

        Sequence seq = (Sequence) result;

        // check the sequence is of lenght 1
        assertEquals("Unexpected sequence length",
                     1,
                     seq.getLength());

        Item item = seq.getItem(1);

        // Value returned should be a StringValue
        assertTrue("Item in list should be a StringValue instance",
                  item instanceof StringValue);
View Full Code Here

        // Value returned should be a StringValue
        assertTrue("return value should be a DoubleValue instance",
                   result instanceof Sequence);

        Sequence seq = (Sequence) result;

        // check the sequence is of lenght 1
        assertEquals("Unexpected sequence length",
                     1,
                     seq.getLength());

        Item item = seq.getItem(1);

        // Value returned should be a StringValue
        assertTrue("Item in list should be a StringValue instance",
                  item instanceof StringValue);
View Full Code Here

        Value result = expression.evaluate(expressionContext);

        assertTrue("Result was not a Sequence instance",
                   result instanceof Sequence);

        Sequence sequence = (Sequence)result;

        // ensure that the correct value was returned
        assertEquals("Sequence was not empty",
                     0,
                     sequence.getLength());
    }
View Full Code Here

        Value result = expression.evaluate(expressionContext);

        assertTrue("Result was not a Sequence instance",
                   result instanceof Sequence);

        Sequence sequence = (Sequence)result;

        // ensure that the correct value was returned
        assertEquals("Sequence was not empty",
                     0,
                     sequence.getLength());
    }
View Full Code Here

TOP

Related Classes of com.volantis.xml.expression.sequence.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.