/*
* Copyright 2005 Nissim Karpenstein, Stein M. Hugubakken
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.exolab.castor.jdo.oql;
/**
* Represents tokens which are generated by the {@link Lexer}from the String
* OQL representation. Tokens contain a token type and the string value.
*
* @author <a href="nissim@nksystems.com">Nissim Karpenstein</a>
* @version $Revision$ $Date: 2006-01-03 17:47:48 -0700 (Tue, 03 Jan 2006) $
*/
public final class Token {
public static final Token ARROW = new Token(TokenType.ARROW, "->");
public static final Token COLON = new Token(TokenType.COLON, ":");
public static final Token COMMA = new Token(TokenType.COMMA, ",");
public static final Token CONCAT = new Token(TokenType.CONCAT, "||");
public static final Token DIVIDE = new Token(TokenType.DIVIDE, "/");
public static final Token DOLLAR = new Token(TokenType.DOLLAR, "$");
public static final Token DOT = new Token(TokenType.DOT, ".");
public static final Token END_OF_QUERY = new Token(TokenType.END_OF_QUERY, "");
public static final Token EQUAL = new Token(TokenType.EQUAL, "=");
public static final Token GT = new Token(TokenType.GT, ">");
public static final Token GTE = new Token(TokenType.GTE, ">=");
public static final Token LPAREN = new Token(TokenType.LPAREN, "(");
public static final Token LT = new Token(TokenType.LT, "<");
public static final Token LTE = new Token(TokenType.LTE, "<=");
public static final Token MINUS = new Token(TokenType.MINUS, "-");
public static final Token NOT_EQUAL = new Token(TokenType.NOT_EQUAL, "!=");
public static final Token PLUS = new Token(TokenType.PLUS, "+");
public static final Token RPAREN = new Token(TokenType.RPAREN, ")");
public static final Token TIMES = new Token(TokenType.TIMES, "*");
public static final Token KEYWORD_AS = new Token(TokenType.KEYWORD_AS, "as");
private int _tokenType;
private String _tokenValue;
/**
* Creates a new Token with the supplied type and value.
*
* @param tokenType The Token Type for this token
* @param tokenValue The Token Value for this token
*/
public Token(final int tokenType, final String tokenValue) {
_tokenType = tokenType;
_tokenValue = tokenValue;
}
public String toString() {
return _tokenValue;
}
/**
* Token Type accessor method.
*
* @return The Token Type for this token
*/
public int getTokenType() {
return _tokenType;
}
/**
* Token value accessor method.
*
* @return The Token Value for this token
*/
public String getTokenValue() {
return _tokenValue;
}
}