001 package railo.runtime.interpreter.ref.op; 002 003 import railo.runtime.PageContext; 004 import railo.runtime.exp.PageException; 005 import railo.runtime.interpreter.ref.Ref; 006 import railo.runtime.interpreter.ref.RefSupport; 007 import railo.runtime.op.Caster; 008 009 /** 010 * imp operation 011 */ 012 public final class Cont extends RefSupport implements Ref { 013 014 private Ref cont; 015 private Ref right; 016 private Ref left; 017 018 /** 019 * constructor of the class 020 * @param left 021 * @param right 022 */ 023 public Cont(Ref cont, Ref left, Ref right) { 024 this.cont=cont; 025 this.left=left; 026 this.right=right; 027 } 028 029 @Override 030 public Object getValue(PageContext pc) throws PageException { 031 return Caster.toBooleanValue(cont.getValue(pc))?left.getValue(pc):right.getValue(pc); 032 } 033 034 @Override 035 public String getTypeName() { 036 return "operation"; 037 } 038 }