/* * Copyright (c) 2006-2011 Rogério Liesenfeld * This file is subject to the terms of the MIT license (see LICENSE.txt). */ package mockit.emulation.hibernate3.ast.whereClause; import mockit.emulation.hibernate3.ast.*; final class NegatedExpr extends Expr { final Expr equalityExpr; NegatedExpr(Expr equalityExpr) { this.equalityExpr = equalityExpr; } public static Expr parse(Tokens tokens) { String token = tokens.next(); if ("not".equalsIgnoreCase(token)) { Expr expr = EqualityExpr.parse(tokens); return new NegatedExpr(expr); } else { tokens.pushback(); Expr expr = EqualityExpr.parse(tokens); return expr; } } @Override public Boolean evaluate(QueryEval eval) { return !(Boolean) equalityExpr.evaluate(eval); } }