Package org.apache.camel.language.simple.types

Examples of org.apache.camel.language.simple.types.SimpleToken


        // white space can be removed if its not part of a quoted text
        boolean quote = false;

        Iterator<SimpleToken> it = tokens.iterator();
        while (it.hasNext()) {
            SimpleToken token = it.next();
            if (token.getType().isSingleQuote()) {
                quote = !quote;
            } else if (token.getType().isWhitespace() && !quote) {
                it.remove();
            }
        }
    }
View Full Code Here


                    digit = true;
                    continue;
                }
            }
            if (sb.length() > 0) {
                return new SimpleToken(new SimpleTokenType(TokenType.numericValue, sb.toString()), index);
            }
        }

        boolean escapeAllowed = allowEscape && acceptType(TokenType.escape, filters);
        if (escapeAllowed) {
            StringBuilder sb = new StringBuilder();
            char ch = expression.charAt(index);
            boolean escaped = '\\' == ch;
            if (escaped && index < expression.length()) {
                // grab next character to escape
                char next = expression.charAt(++index);
                // special for new line, tabs and carriage return
                if ('n' == next) {
                    sb.append("\n");
                } else if ('t' == next) {
                    sb.append("\t");
                } else if ('r' == next) {
                    sb.append("\r");
                } else {
                    // append the next
                    sb.append(next);
                }
                // force 2 as length
                return new SimpleToken(new SimpleTokenType(TokenType.character, sb.toString()), index, 2);
            }
        }

        // it could be any of the known tokens
        String text = expression.substring(index);
        for (SimpleTokenType token : KNOWN_TOKENS) {
            if (acceptType(token.getType(), filters)) {
                if (text.startsWith(token.getValue())) {
                    return new SimpleToken(token, index);
                }
            }
        }

        // fallback and create a character token
        char ch = expression.charAt(index);
        SimpleToken token = new SimpleToken(new SimpleTokenType(TokenType.character, "" + ch), index);
        return token;
    }
View Full Code Here

        function.addText(literal.getText());
        return function.createExpression(expression);
    }

    private Expression doCreateCompositeExpression(final String expression) {
        final SimpleToken token = getToken();
        return new Expression() {
            @Override
            public <T> T evaluate(Exchange exchange, Class<T> type) {
                StringBuilder sb = new StringBuilder();
View Full Code Here

        // white space can be removed if its not part of a quoted text
        boolean quote = false;

        Iterator<SimpleToken> it = tokens.iterator();
        while (it.hasNext()) {
            SimpleToken token = it.next();
            if (token.getType().isSingleQuote()) {
                quote = !quote;
            } else if (token.getType().isWhitespace() && !quote) {
                it.remove();
            }
        }
    }
View Full Code Here

                    digit = true;
                    continue;
                }
            }
            if (sb.length() > 0) {
                return new SimpleToken(new SimpleTokenType(TokenType.numericValue, sb.toString()), index);
            }
        }

        // it could be any of the known tokens
        String text = expression.substring(index);
        for (SimpleTokenType token : KNOWN_TOKENS) {
            if (acceptType(token.getType(), filters)) {
                if (text.startsWith(token.getValue())) {
                    return new SimpleToken(token, index);
                }
            }
        }

        // fallback and create a character token
        char ch = expression.charAt(index);
        SimpleToken token = new SimpleToken(new SimpleTokenType(TokenType.character, "" + ch), index);
        return token;
    }
View Full Code Here

        boolean quote = false;
        int functionCount = 0;

        Iterator<SimpleToken> it = tokens.iterator();
        while (it.hasNext()) {
            SimpleToken token = it.next();
            if (token.getType().isSingleQuote()) {
                quote = !quote;
            } else if (!quote) {
                if (token.getType().isFunctionStart()) {
                    functionCount++;
                } else if (token.getType().isFunctionEnd()) {
                    functionCount--;
                } else if (token.getType().isWhitespace() && functionCount == 0) {
                    it.remove();
                }
            }
        }
    }
View Full Code Here

                    digit = true;
                    continue;
                }
            }
            if (sb.length() > 0) {
                return new SimpleToken(new SimpleTokenType(TokenType.numericValue, sb.toString()), index);
            }
        }

        boolean escapeAllowed = allowEscape && acceptType(TokenType.escape, filters);
        if (escapeAllowed) {
            StringBuilder sb = new StringBuilder();
            char ch = expression.charAt(index);
            boolean escaped = '\\' == ch;
            if (escaped && index < expression.length() - 1) {
                // grab next character to escape
                char next = expression.charAt(++index);
                // special for new line, tabs and carriage return
                if ('n' == next) {
                    sb.append("\n");
                } else if ('t' == next) {
                    sb.append("\t");
                } else if ('r' == next) {
                    sb.append("\r");
                } else {
                    // append the next
                    sb.append(next);
                }
                // force 2 as length
                return new SimpleToken(new SimpleTokenType(TokenType.character, sb.toString()), index, 2);
            }
        }

        // it could be any of the known tokens
        String text = expression.substring(index);
        for (SimpleTokenType token : KNOWN_TOKENS) {
            if (acceptType(token.getType(), filters)) {
                if (text.startsWith(token.getValue())) {
                    return new SimpleToken(token, index);
                }
            }
        }

        // fallback and create a character token
        char ch = expression.charAt(index);
        SimpleToken token = new SimpleToken(new SimpleTokenType(TokenType.character, "" + ch), index);
        return token;
    }
View Full Code Here

        // white space can be removed if its not part of a quoted text
        boolean quote = false;

        Iterator<SimpleToken> it = tokens.iterator();
        while (it.hasNext()) {
            SimpleToken token = it.next();
            if (token.getType().isSingleQuote()) {
                quote = !quote;
            } else if (token.getType().isWhitespace() && !quote) {
                it.remove();
            }
        }
    }
View Full Code Here

    }

    private static Expression doParseExpression(String expression) {
        // should have no function tokens
        for (int i = 0; i < expression.length(); i++) {
            SimpleToken token = SimpleTokenizer.nextToken(expression, i, TokenType.functionStart, TokenType.functionEnd);
            if (token.getType().getType() == TokenType.functionStart || token.getType().getType() == TokenType.functionEnd) {
                return null;
            }
        }

        // okay there is no function tokens, then try to parse it as a simple function expression
        SimpleToken token = new SimpleToken(new SimpleTokenType(TokenType.functionStart, expression), 0);
        SimpleFunctionExpression function = new SimpleFunctionExpression(token);
        function.addText(expression);
        return function.createExpression(expression, false);
    }
View Full Code Here

                    sb.append(ch);
                    index++;
                }
            }
            if (sb.length() > 0) {
                return new SimpleToken(new SimpleTokenType(TokenType.numericValue, sb.toString()), index);
            }
        }

        // it could be any of the known tokens
        String text = expression.substring(index);
        for (SimpleTokenType token : KNOWN_TOKENS) {
            if (acceptType(token.getType(), filters)) {
                if (text.startsWith(token.getValue())) {
                    return new SimpleToken(token, index);
                }
            }
        }

        // fallback and create a character token
        char ch = expression.charAt(index);
        SimpleToken token = new SimpleToken(new SimpleTokenType(TokenType.character, "" + ch), index);
        return token;
    }
View Full Code Here

TOP

Related Classes of org.apache.camel.language.simple.types.SimpleToken

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.