/* Generated By:JJTree: Do not edit this line. OLtOperator.java Version 4.3 */ /* JavaCCOptions:MULTI=true,NODE_USES_PARSER=false,VISITOR=true,TRACK_TOKENS=true,NODE_PREFIX=O,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ package com.orientechnologies.orient.core.sql.parser; import com.orientechnologies.orient.core.metadata.schema.OType; public class OLtOperator extends SimpleNode implements OBinaryCompareOperator { public OLtOperator(int id) { super(id); } public OLtOperator(OrientSql p, int id) { super(p, id); } /** * Accept the visitor. **/ public Object jjtAccept(OrientSqlVisitor visitor, Object data) { return visitor.visit(this, data); } @Override public boolean execute(Object iLeft, Object iRight) { if (iLeft == null || iRight == null) { return false;//only one is null, to check if both are null please use IS NULL } if (iLeft.getClass() != iRight.getClass() && iLeft instanceof Number && iRight instanceof Number) { Number[] couple = OType.castComparableNumber((Number) iLeft, (Number) iRight); iLeft = couple[0]; iRight = couple[1]; } else { iRight = OType.convert(iRight, iLeft.getClass()); } if (iRight == null) return false; return ((Comparable<Object>) iLeft).compareTo(iRight) < 0; } @Override public String toString() { return "<"; } @Override public boolean supportsBasicCalculation() { return true; } } /* JavaCC - OriginalChecksum=d8e97d52128198b373bb0c272c72de2c (do not edit this line) */