public static Expression create(List<Expression> children) throws SQLException { int numChildren = children.size(); if(numChildren < 2 || numChildren > 3) { throw new IllegalArgumentException("Wrong number of arguments : " + numChildren); } Object timeUnitValue = ((LiteralExpression)children.get(1)).getValue(); TimeUnit timeUnit = TimeUnit.getTimeUnit(timeUnitValue != null ? timeUnitValue.toString() : null); switch(timeUnit) { case WEEK: return new RoundWeekExpression(children); case MONTH: return new RoundMonthExpression(children); case YEAR: return new RoundYearExpression(children); default: return new RoundDateExpression(children); } }
public static Expression create(List<Expression> children) throws SQLException { int numChildren = children.size(); if(numChildren < 2 || numChildren > 3) { throw new IllegalArgumentException("Wrong number of arguments : " + numChildren); } Object timeUnitValue = ((LiteralExpression)children.get(1)).getValue(); TimeUnit timeUnit = TimeUnit.getTimeUnit(timeUnitValue != null ? timeUnitValue.toString() : null); switch(timeUnit) { case WEEK: return new RoundWeekExpression(children); case MONTH: return new RoundMonthExpression(children); case YEAR: return new RoundYearExpression(children); default: return new RoundDateExpression(children); } }
public static Expression create(List<Expression> children) throws SQLException { int numChildren = children.size(); if(numChildren < 2 || numChildren > 3) { throw new IllegalArgumentException("Wrong number of arguments : " + numChildren); } Object timeUnitValue = ((LiteralExpression)children.get(1)).getValue(); TimeUnit timeUnit = TimeUnit.getTimeUnit(timeUnitValue != null ? timeUnitValue.toString() : null); switch(timeUnit) { case WEEK: return new RoundWeekExpression(children); case MONTH: return new RoundMonthExpression(children); case YEAR: return new RoundYearExpression(children); default: return new RoundDateExpression(children); } }