/*****************************************************************************
SQLJEP - Java SQL Expression Parser 0.2
November 1 2006
(c) Copyright 2006, Alexey Gaidukov
SQLJEP Author: Alexey Gaidukov
SQLJEP is based on JEP 2.24 (http://www.singularsys.com/jep/)
(c) Copyright 2002, Nathan Funk
See LICENSE.txt for license information.
*****************************************************************************/
package com.meidusa.amoeba.sqljep;
import java.util.Calendar;
import java.util.Stack;
import java.text.DateFormatSymbols;
import com.meidusa.amoeba.util.StaticString;
import com.meidusa.amoeba.util.ThreadLocalMap;
final public class JepRuntime {
public Stack<Comparable> stack = new Stack<Comparable>();
public Calendar calendar = JepRuntime.getCalendar();
public DateFormatSymbols dateSymbols = JepRuntime.getDateFormatSymbols();
public ParserVisitor ev;
public Comparable[] row;
public JepRuntime(ParserVisitor visitor) {
ev = visitor;
}
public static Calendar getCalendar(){
Calendar calendar = (Calendar)ThreadLocalMap.get(StaticString.CALENDAR);
if (calendar == null) {
calendar = Calendar.getInstance();
ThreadLocalMap.put(StaticString.CALENDAR,calendar);
}
return calendar;
}
public static DateFormatSymbols getDateFormatSymbols(){
DateFormatSymbols dateSymbols = (DateFormatSymbols)ThreadLocalMap.get(StaticString.DATE_FORMAT_SYMBOLS);
if (dateSymbols == null) {
dateSymbols = new DateFormatSymbols();
ThreadLocalMap.put(StaticString.DATE_FORMAT_SYMBOLS,dateSymbols);
}
return dateSymbols;
}
}